
<!DOCTYPE HTML>
<html lang="zh-hans" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>过滤和聚合 · Elasticsearch权威指南中文版</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        <meta name="author" content="WS">
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-anchors/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-splitter/splitter.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-anchor-navigation-ex/style/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-ace/ace.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-emphasize/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search-plus/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="5_2_Aggregations.html" />
    
    
    <link rel="prev" href="5_1_Aggregations.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="输入并搜索" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    序言
            
                </a>
            

            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="2.1" data-path="1Preface.html">
            
                <a href="1Preface.html">
            
                    
                    前言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.1" data-path="1Preface.html">
            
                <a href="1Preface.html#谁应该读这本书">
            
                    
                    谁应该读这本书
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.2" data-path="1Preface.html">
            
                <a href="1Preface.html#为什么我们要写这本书">
            
                    
                    为什么我们要写这本书
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.3" data-path="1Preface.html">
            
                <a href="1Preface.html#Elasticsearch版本">
            
                    
                    Elasticsearch版本
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4" data-path="1Preface.html">
            
                <a href="1Preface.html#如何读这本书">
            
                    
                    如何读这本书
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.5" data-path="1Preface.html">
            
                <a href="1Preface.html#本书导航">
            
                    
                    本书导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6" data-path="1Preface.html">
            
                <a href="1Preface.html#在线资源">
            
                    
                    在线资源
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7" data-path="1Preface.html">
            
                <a href="1Preface.html#本书协议约定">
            
                    
                    本书协议约定
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.8" data-path="1Preface.html">
            
                <a href="1Preface.html#使用代码示例">
            
                    
                    使用代码示例
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.9" data-path="1Preface.html">
            
                <a href="1Preface.html#鸣谢">
            
                    
                    鸣谢
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="3.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html">
            
                    
                    基础入门
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#你知道的为了搜索">
            
                    
                    你知道的, 为了搜索…
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.1.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#安装并运行Elasticsearch">
            
                    
                    安装并运行Elasticsearch
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#安装Sense">
            
                    
                    安装Sense
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#和Elasticsearch交互">
            
                    
                    和Elasticsearch交互
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.4" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#面向文档">
            
                    
                    面向文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.5" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#适应新环境">
            
                    
                    适应新环境
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.6" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#索引雇员文档">
            
                    
                    索引雇员文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.7" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#检索文档">
            
                    
                    检索文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.8" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#轻量搜索">
            
                    
                    轻量搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.9" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#使用查询表达式搜索">
            
                    
                    使用查询表达式搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.10" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#更复杂的搜索">
            
                    
                    更复杂的搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.11" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#全文搜索">
            
                    
                    全文搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.12" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#短语搜索">
            
                    
                    短语搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.13" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#高亮搜索">
            
                    
                    高亮搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.14" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#分析">
            
                    
                    分析
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.15" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#教程结语">
            
                    
                    教程结语
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.16" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#分布式特性">
            
                    
                    分布式特性
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.1.17" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#">
            
                    
                    后续步骤
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#集群内的原理">
            
                    
                    集群内的原理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.2.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#空集群">
            
                    
                    空集群
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#集群健康">
            
                    
                    集群健康
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#添加索引">
            
                    
                    添加索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.4" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#添加故障转">
            
                    
                    添加故障转
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.5" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#水平扩容">
            
                    
                    水平扩容
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.2.6" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#应对故障">
            
                    
                    应对故障
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#数据输入和输出">
            
                    
                    数据输入和输出
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.3.1" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#什么是文档">
            
                    
                    什么是文档?
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.2" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#文档元数据">
            
                    
                    文档元数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.3" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#索引文档">
            
                    
                    索引文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.4" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#取回一个文档">
            
                    
                    取回一个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.5" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#检查文档是否存在">
            
                    
                    检查文档是否存在
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.6" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#更新整个文档">
            
                    
                    更新整个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.7" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#创建新文档">
            
                    
                    创建新文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.8" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#删除文档">
            
                    
                    删除文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.9" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#处理冲突">
            
                    
                    处理冲突
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.10" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#乐观并发控制">
            
                    
                    乐观并发控制
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.11" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#文档的部分更新">
            
                    
                    文档的部分更新
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.12" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#取回多个文档">
            
                    
                    取回多个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.3.13" data-path="2_1_Introductory.html">
            
                <a href="2_1_Introductory.html#代价较小的批量操作">
            
                    
                    代价较小的批量操作
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#分布式文档存储">
            
                    
                    分布式文档存储
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.4.1" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#路由一个文档到一个分片中">
            
                    
                    路由一个文档到一个分片中
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.2" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#主分片和副本分片如何交互">
            
                    
                    主分片和副本分片如何交互
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.3" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#新建索引和删除文档">
            
                    
                    新建、索引和删除文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#取回一个文档">
            
                    
                    取回一个文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.5" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#局部更新文档">
            
                    
                    局部更新文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.4.6" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#多文档模式">
            
                    
                    多文档模式
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.5" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#搜索最基本的工具">
            
                    
                    搜索——最基本的工具
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.5.1" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#空搜索">
            
                    
                    空搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.2" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#多索引多类型">
            
                    
                    多索引，多类型
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.3" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#分页">
            
                    
                    分页
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.5.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#轻量搜索">
            
                    
                    轻量搜索
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.6" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#映射和分析">
            
                    
                    映射和分析
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.6.1" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#精确值VS全文">
            
                    
                    精确值 VS 全文
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.2" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#倒排索引">
            
                    
                    倒排索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.3" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#分析与分析器">
            
                    
                    分析与分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.4" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#映射">
            
                    
                    映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.6.5" data-path="2_2_Introductory.html">
            
                <a href="2_2_Introductory.html#复杂核心域类型">
            
                    
                    复杂核心域类型
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.7" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#请求体查询">
            
                    
                    请求体查询
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.7.1" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#空查询">
            
                    
                    空查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.2" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#查询表达式">
            
                    
                    查询表达式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.3" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#查询与过滤">
            
                    
                    查询与过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.4" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#最重要的查询">
            
                    
                    最重要的查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.5" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#组合多查询">
            
                    
                    组合多查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.7.6" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#验证查询">
            
                    
                    验证查询
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.8" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#排序与相关性">
            
                    
                    排序与相关性
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.8.1" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#排序">
            
                    
                    排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.8.2" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#字符串排序与多字段">
            
                    
                    字符串排序与多字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.8.3" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#什么是相关性">
            
                    
                    什么是相关性?
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.8.4" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#DocValues介绍">
            
                    
                    Doc Values 介绍
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.9" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#执行分布式检索">
            
                    
                    执行分布式检索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.9.1" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#查询阶段">
            
                    
                    查询阶段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.9.2" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#取回阶段">
            
                    
                    取回阶段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.9.3" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#搜索选项">
            
                    
                    搜索选项
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.9.4" data-path="2_3_Introductory.html">
            
                <a href="2_3_Introductory.html#游标查询Scroll">
            
                    
                    游标查询 Scroll
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.10" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#索引管理">
            
                    
                    索引管理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.10.1" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#创建一个索引">
            
                    
                    创建一个索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.2" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#删除一个索引">
            
                    
                    删除一个索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.3" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#索引设置">
            
                    
                    索引设置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.4" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#配置分析器">
            
                    
                    配置分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.5" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#自定义分析器">
            
                    
                    自定义分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.6" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#类型和映射">
            
                    
                    类型和映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.7" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#根对象">
            
                    
                    根对象
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.8" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#动态映射">
            
                    
                    动态映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.9" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#自定义动态映射">
            
                    
                    自定义动态映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.10" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#缺省映射">
            
                    
                    缺省映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.11" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#重新索引你的数据">
            
                    
                    重新索引你的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.10.12" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#索引别名和零停机">
            
                    
                    索引别名和零停机
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="3.1.11" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#分片内部原理">
            
                    
                    分片内部原理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="3.1.11.1" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#使文本可被搜索">
            
                    
                    使文本可被搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.2" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#动态更新索引">
            
                    
                    动态更新索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.3" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#近实时搜索">
            
                    
                    近实时搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.4" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#持久化变更">
            
                    
                    持久化变更
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="3.1.11.5" data-path="2_4_Introductory.html">
            
                <a href="2_4_Introductory.html#段合并">
            
                    
                    段合并
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="4.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#深入搜索">
            
                    
                    深入搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#结构化搜索">
            
                    
                    结构化搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.1.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#精确值查找">
            
                    
                    精确值查找
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#组合过滤器">
            
                    
                    组合过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#查找多个精确值">
            
                    
                    查找多个精确值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.4" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#范围">
            
                    
                    范围
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.5" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#处理Null值">
            
                    
                    处理 Null 值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.1.6" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#关于缓存">
            
                    
                    关于缓存
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#全文搜索">
            
                    
                    全文搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.2.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#基于词项与基于全文">
            
                    
                    基于词项与基于全文
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#匹配查询">
            
                    
                    匹配查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多词查询">
            
                    
                    多词查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.4" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#组合查询">
            
                    
                    组合查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.5" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#如何使用布尔匹配">
            
                    
                    如何使用布尔匹配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.6" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#查询语句提升权重">
            
                    
                    查询语句提升权重
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.7" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#控制分析">
            
                    
                    控制分析
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.2.8" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#被破坏的相关度">
            
                    
                    被破坏的相关度！
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多字段搜索">
            
                    
                    多字段搜索
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.3.1" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多字符串查询">
            
                    
                    多字符串查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.2" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#单字符串查询">
            
                    
                    单字符串查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.3" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#最佳字段">
            
                    
                    最佳字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.4" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#最佳字段查询调优">
            
                    
                    最佳字段查询调优
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.5" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#multi_match查询">
            
                    
                    multi_match 查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.6" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#多数字段">
            
                    
                    多数字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.7" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#跨字段实体搜索">
            
                    
                    跨字段实体搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.8" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#字段中心式查询">
            
                    
                    字段中心式查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.9" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#自定义all字段">
            
                    
                    自定义 _all 字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.10" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#crossfields跨字段查询">
            
                    
                    cross-fields 跨字段查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.3.11" data-path="3_1_DeepSearch.html">
            
                <a href="3_1_DeepSearch.html#ExactValue精确值字段">
            
                    
                    Exact-Value 精确值字段
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#近似匹配">
            
                    
                    近似匹配
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.4.1" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#短语匹配">
            
                    
                    短语匹配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.2" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#混合起来">
            
                    
                    混合起来
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.3" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#多值字段">
            
                    
                    多值字段
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#越近越好">
            
                    
                    越近越好
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#使用邻近度提高相关度">
            
                    
                    使用邻近度提高相关度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#性能优化">
            
                    
                    性能优化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.4.7" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#寻找相关词">
            
                    
                    寻找相关词
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#部分匹配">
            
                    
                    部分匹配
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.5.1" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#邮编与结构化数据">
            
                    
                    邮编与结构化数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.2" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#prefix前缀查询">
            
                    
                    prefix 前缀查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.3" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#通配符与正则表达式查询">
            
                    
                    通配符与正则表达式查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#查询时输入即搜索">
            
                    
                    查询时输入即搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#索引时优化">
            
                    
                    索引时优化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#Ngrams在部分匹配的应用">
            
                    
                    Ngrams 在部分匹配的应用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.7" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#索引时输入即搜索">
            
                    
                    索引时输入即搜索
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.5.8" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#Ngrams在复合词的应用">
            
                    
                    Ngrams 在复合词的应用
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="4.1.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#控制相关度">
            
                    
                    控制相关度
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="4.1.6.1" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#相关度评分背后的理论">
            
                    
                    相关度评分背后的理论
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.2" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#Lucene的实用评分函数">
            
                    
                    Lucene 的实用评分函数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.3" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#查询时权重提升">
            
                    
                    查询时权重提升
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.4" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#使用查询结构修改相关度">
            
                    
                    使用查询结构修改相关度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.5" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#NotQuiteNot">
            
                    
                    Not Quite Not
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.6" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#忽略TFIDF">
            
                    
                    忽略 TF/IDF
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.7" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#functionscore查询">
            
                    
                    function_score 查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.8" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#按受欢迎度提升权重">
            
                    
                    按受欢迎度提升权重
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.9" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#过滤集提升权重">
            
                    
                    过滤集提升权重
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.10" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#随机评分">
            
                    
                    随机评分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.11" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#越近越好">
            
                    
                    越近越好
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.12" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#理解price价格语句">
            
                    
                    理解 price 价格语句
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.13" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#脚本评分">
            
                    
                    脚本评分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.14" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#可插拔的相似度算法">
            
                    
                    可插拔的相似度算法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.15" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#更改相似度">
            
                    
                    更改相似度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="4.1.6.16" data-path="3_2_DeepSearch.html">
            
                <a href="3_2_DeepSearch.html#调试相关度是最后10要做的事情">
            
                    
                    调试相关度是最后 10% 要做的事情
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="5.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#处理人类语言">
            
                    
                    处理人类语言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#开始处理各种语言">
            
                    
                    开始处理各种语言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.1.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#使用语言分析器">
            
                    
                    使用语言分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#配置语言分析器">
            
                    
                    配置语言分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#混合语言的陷阱">
            
                    
                    混合语言的陷阱
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#每份文档一种语言">
            
                    
                    每份文档一种语言
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#每个域一种语言">
            
                    
                    每个域一种语言
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.1.6" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#混合语言域">
            
                    
                    混合语言域
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#词汇识别">
            
                    
                    词汇识别
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.2.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#标准分析器">
            
                    
                    标准分析器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#标准分词器">
            
                    
                    标准分词器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#安装ICU插件">
            
                    
                    安装 ICU 插件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#icu分词器">
            
                    
                    icu_分词器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.2.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#整理输入文本">
            
                    
                    整理输入文本
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#归一化词元">
            
                    
                    归一化词元
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.3.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#举个例子">
            
                    
                    举个例子
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#如果有口音">
            
                    
                    如果有口音
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Unicode的世界">
            
                    
                    Unicode的世界
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Unicode大小写折叠">
            
                    
                    Unicode 大小写折叠
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Unicode字符折叠">
            
                    
                    Unicode 字符折叠
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.3.6" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#排序和整理">
            
                    
                    排序和整理
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#将单词还原为词根">
            
                    
                    将单词还原为词根
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.4.1" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#词干提取算法">
            
                    
                    词干提取算法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.2" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#字典词干提取器">
            
                    
                    字典词干提取器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.3" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#Hunspell词干提取器">
            
                    
                    Hunspell 词干提取器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.4" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#选择一个词干提取器">
            
                    
                    选择一个词干提取器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.5" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#控制词干提取">
            
                    
                    控制词干提取
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.4.6" data-path="4_1_Dealing_with_language.html">
            
                <a href="4_1_Dealing_with_language.html#原形词干提取">
            
                    
                    原形词干提取
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词性能与精度">
            
                    
                    停用词: 性能与精度
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.5.1" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词的优缺点">
            
                    
                    停用词的优缺点
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.2" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#使用停用词">
            
                    
                    使用停用词
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.3" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词与性能">
            
                    
                    停用词与性能
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.4" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#词项的分别管理">
            
                    
                    词项的分别管理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词与短语查询">
            
                    
                    停用词与短语查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.6" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#commongrams过滤器">
            
                    
                    common_grams 过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.5.7" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#停用词与相关性">
            
                    
                    停用词与相关性
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.6" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#同义词">
            
                    
                    同义词
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.6.1" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#使用同义词">
            
                    
                    使用同义词
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.2" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#同义词格式">
            
                    
                    同义词格式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.3" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#扩展或收缩">
            
                    
                    扩展或收缩
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.4" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#同义词和分析链">
            
                    
                    同义词和分析链
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#多词同义词和短语查询">
            
                    
                    多词同义词和短语查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.6.6" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#符号同义词">
            
                    
                    符号同义词
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="5.1.7" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#拼写错误">
            
                    
                    拼写错误
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="5.1.7.1" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊性">
            
                    
                    模糊性
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.2" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊查询">
            
                    
                    模糊查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.3" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊匹配查询">
            
                    
                    模糊匹配查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.4" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#模糊性评分">
            
                    
                    模糊性评分
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="5.1.7.5" data-path="4_2_Dealing_with_language.html">
            
                <a href="4_2_Dealing_with_language.html#语音匹配">
            
                    
                    语音匹配
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="6.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#聚合">
            
                    
                    聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#高阶概念">
            
                    
                    高阶概念
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.1.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#桶">
            
                    
                    桶
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#指标">
            
                    
                    指标
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.1.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#桶和指标的组合">
            
                    
                    桶和指标的组合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#尝试聚合">
            
                    
                    尝试聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.2.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#添加度量指标">
            
                    
                    添加度量指标
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#嵌套桶">
            
                    
                    嵌套桶
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.2.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#最后的修改">
            
                    
                    最后的修改
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#条形图">
            
                    
                    条形图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.4" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#按时间统计">
            
                    
                    按时间统计
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.4.1" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#返回空Buckets">
            
                    
                    返回空 Buckets
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.4.2" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#扩展例子">
            
                    
                    扩展例子
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.4.3" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#潜力无穷">
            
                    
                    潜力无穷
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.5" data-path="5_1_Aggregations.html">
            
                <a href="5_1_Aggregations.html#范围限定的聚合">
            
                    
                    范围限定的聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#过滤和聚合">
            
                    
                    过滤和聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.6.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#过滤">
            
                    
                    过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#过滤桶">
            
                    
                    过滤桶
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6.3" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#后过滤器">
            
                    
                    后过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.6.4" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#小结5_2">
            
                    
                    小结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.7" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#多桶排序">
            
                    
                    多桶排序
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.7.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#内置排序">
            
                    
                    内置排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.7.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#按度量排序">
            
                    
                    按度量排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.7.3" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#基于深度度量排序">
            
                    
                    基于“深度”度量排序
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.8" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#近似聚合">
            
                    
                    近似聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.8.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#统计去重后的数量">
            
                    
                    统计去重后的数量
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.8.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#百分位计算">
            
                    
                    百分位计算
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.9" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#通过聚合发现异常指标">
            
                    
                    通过聚合发现异常指标
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.9.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#significantterms演示">
            
                    
                    significant_terms 演示
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.10" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#DocValuesandFielddata">
            
                    
                    Doc Values and Fielddata
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="6.1.10.1" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#DocValues">
            
                    
                    Doc Values
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.2" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#深入理解DocValues">
            
                    
                    深入理解 Doc Values
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.3" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#聚合与分析">
            
                    
                    聚合与分析
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.4" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#限制内存使用">
            
                    
                    限制内存使用
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.5" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#Fielddata的过滤">
            
                    
                    Fielddata 的过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.6" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#预加载fielddata">
            
                    
                    预加载 fielddata
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="6.1.10.7" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#优化聚合查询">
            
                    
                    优化聚合查询
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="6.1.11" data-path="5_2_Aggregations.html">
            
                <a href="5_2_Aggregations.html#总结5_2">
            
                    
                    总结
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="7.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理位置">
            
                    
                    地理位置
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理坐标点">
            
                    
                    地理坐标点
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.1.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#经纬度坐标格式">
            
                    
                    经纬度坐标格式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#通过地理坐标点过滤">
            
                    
                    通过地理坐标点过滤
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理坐标盒模型过滤器">
            
                    
                    地理坐标盒模型过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.4" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理距离过滤器">
            
                    
                    地理距离过滤器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.1.5" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#按距离排序">
            
                    
                    按距离排序
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohashes6">
            
                    
                    Geohashes
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.2.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohashes映射">
            
                    
                    Geohashes 映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.2.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohash单元查询">
            
                    
                    Geohash 单元查询
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理位置聚合">
            
                    
                    地理位置聚合
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.3.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理距离聚合">
            
                    
                    地理距离聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#Geohash网格聚合">
            
                    
                    Geohash 网格聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.3.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理边界聚合">
            
                    
                    地理边界聚合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="7.1.4" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#地理形状">
            
                    
                    地理形状
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="7.1.4.1" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#映射地理形状">
            
                    
                    映射地理形状
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.2" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#索引地理形状">
            
                    
                    索引地理形状
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.3" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#查询地理形状">
            
                    
                    查询地理形状
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="7.1.4.4" data-path="6_Geolocation.html">
            
                <a href="6_Geolocation.html#在查询中使用已索引的形状">
            
                    
                    在查询中使用已索引的形状
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="8.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#数据建模">
            
                    
                    数据建模
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#关联关系处理">
            
                    
                    关联关系处理
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.1.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#应用层联接">
            
                    
                    应用层联接
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#非规范化你的数据">
            
                    
                    非规范化你的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#字段折叠">
            
                    
                    字段折叠
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#非规范化和并发">
            
                    
                    非规范化和并发
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.1.5" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#解决并发问题">
            
                    
                    解决并发问题
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="8.1.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套对象">
            
                    
                    嵌套对象
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.2.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套对象映射">
            
                    
                    嵌套对象映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.2.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套对象查询">
            
                    
                    嵌套对象查询
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.2.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#使用嵌套字段排序">
            
                    
                    使用嵌套字段排序
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.2.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#嵌套聚合">
            
                    
                    嵌套聚合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="8.1.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#父子关系文档">
            
                    
                    父-子关系文档
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.3.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#父子关系文档映射">
            
                    
                    父-子关系文档映射
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#构建父子文档索引">
            
                    
                    构建父-子文档索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#通过子文档查询父文档">
            
                    
                    通过子文档查询父文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#通过父文档查询子文档">
            
                    
                    通过父文档查询子文档
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.5" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#子文档聚合">
            
                    
                    子文档聚合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.6" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#祖辈与孙辈关系">
            
                    
                    祖辈与孙辈关系
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.3.7" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#实际使用中的一些建议">
            
                    
                    实际使用中的一些建议
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="8.1.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#扩容设计">
            
                    
                    扩容设计
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="8.1.4.1" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#扩容的单元">
            
                    
                    扩容的单元
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.2" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#分片预分配">
            
                    
                    分片预分配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.3" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#海量分片">
            
                    
                    海量分片
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.4" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#容量规划">
            
                    
                    容量规划
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.5" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#副本分片">
            
                    
                    副本分片
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.6" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#多索引">
            
                    
                    多索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.7" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#基于时间的数据">
            
                    
                    基于时间的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.8" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#索引模板">
            
                    
                    索引模板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.9" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#数据过期">
            
                    
                    数据过期
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.10" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#基于用户的数据">
            
                    
                    基于用户的数据
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.11" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#共享索引">
            
                    
                    共享索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.12" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#利用别名实现一个用户一个索引">
            
                    
                    利用别名实现一个用户一个索引
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.13" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#一个大的用户">
            
                    
                    一个大的用户
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="8.1.4.14" data-path="7_Modeling_your_data.html">
            
                <a href="7_Modeling_your_data.html#扩容并不是无限的">
            
                    
                    扩容并不是无限的
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="9.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#管理监控和部署">
            
                    
                    管理、监控和部署
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#监控">
            
                    
                    监控
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.1.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#Marvel监控">
            
                    
                    Marvel 监控
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#集群健康">
            
                    
                    集群健康
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#监控单个节点">
            
                    
                    监控单个节点
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.4" data-path="8_Admin.html">
            
                <a href="8_Admin.html#集群统计">
            
                    
                    集群统计
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.5" data-path="8_Admin.html">
            
                <a href="8_Admin.html#索引统计">
            
                    
                    索引统计
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.6" data-path="8_Admin.html">
            
                <a href="8_Admin.html#等待中的任务">
            
                    
                    等待中的任务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.1.7" data-path="8_Admin.html">
            
                <a href="8_Admin.html#catAPI">
            
                    
                    cat API
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="9.1.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#部署">
            
                    
                    部署
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.2.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#硬件">
            
                    
                    硬件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#Java虚拟机">
            
                    
                    Java 虚拟机
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#TransportClient与NodeClient">
            
                    
                    Transport Client 与 Node Client
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.4" data-path="8_Admin.html">
            
                <a href="8_Admin.html#配置管理">
            
                    
                    配置管理
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.5" data-path="8_Admin.html">
            
                <a href="8_Admin.html#重要配置的修改">
            
                    
                    重要配置的修改
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.6" data-path="8_Admin.html">
            
                <a href="8_Admin.html#不要触碰这些配置">
            
                    
                    不要触碰这些配置！
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.7" data-path="8_Admin.html">
            
                <a href="8_Admin.html#堆内存大小和交换">
            
                    
                    堆内存:大小和交换
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.8" data-path="8_Admin.html">
            
                <a href="8_Admin.html#文件描述符和MMap">
            
                    
                    文件描述符和 MMap
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.2.9" data-path="8_Admin.html">
            
                <a href="8_Admin.html#在生产之前，重温这个列表">
            
                    
                    在生产之前，重温这个列表
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="9.1.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#部署后">
            
                    
                    部署后
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="9.1.3.1" data-path="8_Admin.html">
            
                <a href="8_Admin.html#动态变更设置">
            
                    
                    动态变更设置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.2" data-path="8_Admin.html">
            
                <a href="8_Admin.html#日志记录">
            
                    
                    日志记录
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.3" data-path="8_Admin.html">
            
                <a href="8_Admin.html#索引性能技巧">
            
                    
                    索引性能技巧
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.4" data-path="8_Admin.html">
            
                <a href="8_Admin.html#推迟分片分配">
            
                    
                    推迟分片分配
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.5" data-path="8_Admin.html">
            
                <a href="8_Admin.html#滚动重启">
            
                    
                    滚动重启
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.6" data-path="8_Admin.html">
            
                <a href="8_Admin.html#备份你的集群">
            
                    
                    备份你的集群
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.7" data-path="8_Admin.html">
            
                <a href="8_Admin.html#从快照恢复">
            
                    
                    从快照恢复
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="9.1.3.8" data-path="8_Admin.html">
            
                <a href="8_Admin.html#集群是活着的呼吸着的生命">
            
                    
                    集群是活着的、呼吸着的生命
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本书使用 GitBook 发布
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >过滤和聚合</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div class="search-plus" id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <div id="anchor-navigation-ex-navbar"><i class="fa fa-anchor"></i><ul><li><a href="#&#x805A;&#x5408;">&#x805A;&#x5408;</a></li><ul><li><a href="#&#x8FC7;&#x6EE4;&#x548C;&#x805A;&#x5408;">&#x8FC7;&#x6EE4;&#x548C;&#x805A;&#x5408;</a></li><ul><li><a href="#&#x8FC7;&#x6EE4;">&#x8FC7;&#x6EE4;</a></li><li><a href="#&#x8FC7;&#x6EE4;&#x6876;">&#x8FC7;&#x6EE4;&#x6876;</a></li><li><a href="#&#x540E;&#x8FC7;&#x6EE4;&#x5668;">&#x540E;&#x8FC7;&#x6EE4;&#x5668;</a></li><li><a href="#&#x5C0F;&#x7ED3;5_2">&#x5C0F;&#x7ED3;  </a></li></ul><li><a href="#&#x591A;&#x6876;&#x6392;&#x5E8F;">&#x591A;&#x6876;&#x6392;&#x5E8F;</a></li><ul><li><a href="#&#x5185;&#x7F6E;&#x6392;&#x5E8F;">&#x5185;&#x7F6E;&#x6392;&#x5E8F;</a></li><li><a href="#&#x6309;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;">&#x6309;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;</a></li><li><a href="#&#x57FA;&#x4E8E;&#x6DF1;&#x5EA6;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;">&#x57FA;&#x4E8E;&#x201C;&#x6DF1;&#x5EA6;&#x201D;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;  </a></li></ul><li><a href="#&#x8FD1;&#x4F3C;&#x805A;&#x5408;">&#x8FD1;&#x4F3C;&#x805A;&#x5408;</a></li><ul><li><a href="#&#x7EDF;&#x8BA1;&#x53BB;&#x91CD;&#x540E;&#x7684;&#x6570;&#x91CF;">&#x7EDF;&#x8BA1;&#x53BB;&#x91CD;&#x540E;&#x7684;&#x6570;&#x91CF;</a></li><li><a href="#&#x767E;&#x5206;&#x4F4D;&#x8BA1;&#x7B97;">&#x767E;&#x5206;&#x4F4D;&#x8BA1;&#x7B97;</a></li></ul><li><a href="#&#x901A;&#x8FC7;&#x805A;&#x5408;&#x53D1;&#x73B0;&#x5F02;&#x5E38;&#x6307;&#x6807;">&#x901A;&#x8FC7;&#x805A;&#x5408;&#x53D1;&#x73B0;&#x5F02;&#x5E38;&#x6307;&#x6807;</a></li><ul><li><a href="#significantterms&#x6F14;&#x793A;">significant_terms &#x6F14;&#x793A;  </a></li></ul><li><a href="#DocValuesandFielddata">Doc Values and Fielddata  </a></li><ul><li><a href="#DocValues">Doc Values  </a></li><li><a href="#&#x6DF1;&#x5165;&#x7406;&#x89E3;DocValues">&#x6DF1;&#x5165;&#x7406;&#x89E3; Doc Values  </a></li><li><a href="#&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;">&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;</a></li><li><a href="#&#x9650;&#x5236;&#x5185;&#x5B58;&#x4F7F;&#x7528;">&#x9650;&#x5236;&#x5185;&#x5B58;&#x4F7F;&#x7528;</a></li><li><a href="#Fielddata&#x7684;&#x8FC7;&#x6EE4;">Fielddata &#x7684;&#x8FC7;&#x6EE4;  </a></li><li><a href="#&#x9884;&#x52A0;&#x8F7D;fielddata">&#x9884;&#x52A0;&#x8F7D; fielddata  </a></li><li><a href="#&#x4F18;&#x5316;&#x805A;&#x5408;&#x67E5;&#x8BE2;">&#x4F18;&#x5316;&#x805A;&#x5408;&#x67E5;&#x8BE2;</a></li></ul><li><a href="#&#x603B;&#x7ED3;5_2">&#x603B;&#x7ED3;  </a></li></ul></ul></div><a href="#&#x805A;&#x5408;" id="anchorNavigationExGoTop"><i class="fa fa-arrow-up"></i></a><h1 id="&#x805A;&#x5408;"><a name="&#x805A;&#x5408;" class="anchor-navigation-ex-anchor" href="#&#x805A;&#x5408;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x805A;&#x5408;</h1>
<h2 id="&#x8FC7;&#x6EE4;&#x548C;&#x805A;&#x5408;"><a name="&#x8FC7;&#x6EE4;&#x548C;&#x805A;&#x5408;" class="anchor-navigation-ex-anchor" href="#&#x8FC7;&#x6EE4;&#x548C;&#x805A;&#x5408;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x8FC7;&#x6EE4;&#x548C;&#x805A;&#x5408;</h2>
<p>&#x805A;&#x5408;&#x8303;&#x56F4;&#x9650;&#x5B9A;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;&#x81EA;&#x7136;&#x7684;&#x6269;&#x5C55;&#x5C31;&#x662F;&#x8FC7;&#x6EE4;&#x3002;&#x56E0;&#x4E3A;&#x805A;&#x5408;&#x662F;&#x5728;&#x67E5;&#x8BE2;&#x7ED3;&#x679C;&#x8303;&#x56F4;&#x5185;&#x64CD;&#x4F5C;&#x7684;&#xFF0C;&#x4EFB;&#x4F55;&#x53EF;&#x4EE5;&#x9002;&#x7528;&#x4E8E;&#x67E5;&#x8BE2;&#x7684;&#x8FC7;&#x6EE4;&#x5668;&#x4E5F;&#x53EF;&#x4EE5;&#x5E94;&#x7528;&#x5728;&#x805A;&#x5408;&#x4E0A;&#x3002;</p>
<h3 id="&#x8FC7;&#x6EE4;"><a name="&#x8FC7;&#x6EE4;" class="anchor-navigation-ex-anchor" href="#&#x8FC7;&#x6EE4;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x8FC7;&#x6EE4;</h3>
<p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x60F3;&#x627E;&#x5230;&#x552E;&#x4EF7;&#x5728; $10,000 &#x7F8E;&#x5143;&#x4E4B;&#x4E0A;&#x7684;&#x6240;&#x6709;&#x6C7D;&#x8F66;&#x540C;&#x65F6;&#x4E5F;&#x4E3A;&#x8FD9;&#x4E9B;&#x8F66;&#x8BA1;&#x7B97;&#x5E73;&#x5747;&#x552E;&#x4EF7;&#xFF0C; &#x53EF;&#x4EE5;&#x7B80;&#x5355;&#x5730;&#x4F7F;&#x7528;&#x4E00;&#x4E2A; <code>constant_score</code> &#x67E5;&#x8BE2;&#x548C; <code>filter</code> &#x7EA6;&#x675F;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;query&quot;</span> : {
        <span class="hljs-string">&quot;constant_score&quot;</span>: {
            <span class="hljs-string">&quot;filter&quot;</span>: {
                <span class="hljs-string">&quot;range&quot;</span>: {
                    <span class="hljs-string">&quot;price&quot;</span>: {
                        <span class="hljs-string">&quot;gte&quot;</span>: <span class="hljs-number">10000</span>
                    }
                }
            }
        }
    },
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;single_avg_price&quot;</span>: {
            <span class="hljs-string">&quot;avg&quot;</span> : { <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;price&quot;</span> }
        }
    }
}
</code></pre>
<p>&#x8FD9;&#x6B63;&#x5982;&#x6211;&#x4EEC;&#x5728;&#x524D;&#x9762;&#x7AE0;&#x8282;&#x4E2D;&#x8BA8;&#x8BBA;&#x8FC7;&#x90A3;&#x6837;&#xFF0C;&#x4ECE;&#x6839;&#x672C;&#x4E0A;&#x8BB2;&#xFF0C;&#x4F7F;&#x7528; <code>non-scoring</code> &#x67E5;&#x8BE2;&#x548C;&#x4F7F;&#x7528; <code>match</code> &#x67E5;&#x8BE2;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x533A;&#x522B;&#x3002;&#x67E5;&#x8BE2;&#xFF08;&#x5305;&#x62EC;&#x4E86;&#x4E00;&#x4E2A;&#x8FC7;&#x6EE4;&#x5668;&#xFF09;&#x8FD4;&#x56DE;&#x4E00;&#x7EC4;&#x6587;&#x6863;&#x7684;&#x5B50;&#x96C6;&#xFF0C;&#x805A;&#x5408;&#x6B63;&#x662F;&#x64CD;&#x4F5C;&#x8FD9;&#x4E9B;&#x6587;&#x6863;&#x3002;&#x4F7F;&#x7528; <code>filtering query</code> &#x4F1A;&#x5FFD;&#x7565;&#x8BC4;&#x5206;&#xFF0C;&#x5E76;&#x6709;&#x53EF;&#x80FD;&#x4F1A;&#x7F13;&#x5B58;&#x7ED3;&#x679C;&#x6570;&#x636E;&#x7B49;&#x7B49;&#x3002;</p>
<h3 id="&#x8FC7;&#x6EE4;&#x6876;"><a name="&#x8FC7;&#x6EE4;&#x6876;" class="anchor-navigation-ex-anchor" href="#&#x8FC7;&#x6EE4;&#x6876;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x8FC7;&#x6EE4;&#x6876;</h3>
<p>&#x4F46;&#x662F;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x53EA;&#x60F3;&#x5BF9;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x8FC7;&#x6EE4;&#x600E;&#x4E48;&#x529E;&#xFF1F; &#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x6B63;&#x5728;&#x4E3A;&#x6C7D;&#x8F66;&#x7ECF;&#x9500;&#x5546;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x641C;&#x7D22;&#x9875;&#x9762;&#xFF0C; &#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x663E;&#x793A;&#x7528;&#x6237;&#x641C;&#x7D22;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x4F46;&#x662F;&#x6211;&#x4EEC;&#x540C;&#x65F6;&#x4E5F;&#x60F3;&#x5728;&#x9875;&#x9762;&#x4E0A;&#x63D0;&#x4F9B;&#x66F4;&#x4E30;&#x5BCC;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x5305;&#x62EC;&#xFF08;&#x4E0E;&#x641C;&#x7D22;&#x5339;&#x914D;&#x7684;&#xFF09;&#x4E0A;&#x4E2A;&#x6708;&#x5EA6;&#x6C7D;&#x8F66;&#x7684;&#x5E73;&#x5747;&#x552E;&#x4EF7;&#x3002;</p>
<p>&#x8FD9;&#x91CC;&#x6211;&#x4EEC;&#x65E0;&#x6CD5;&#x7B80;&#x5355;&#x7684;&#x505A;&#x8303;&#x56F4;&#x9650;&#x5B9A;&#xFF0C;&#x56E0;&#x4E3A;&#x6709;&#x4E24;&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x6761;&#x4EF6;&#x3002;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x5FC5;&#x987B;&#x662F; <code>ford</code> &#xFF0C;&#x4F46;&#x662F;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x5FC5;&#x987B;&#x6EE1;&#x8DB3; <code>ford</code> AND <code>sold &gt; now - 1M</code> &#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528;&#x4E00;&#x79CD;&#x7279;&#x6B8A;&#x7684;&#x6876;&#xFF0C;&#x53EB;&#x505A; <code>filter</code> &#xFF08;&#x6CE8;&#xFF1A;&#x8FC7;&#x6EE4;&#x6876;&#xFF09; &#x3002; &#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x8FC7;&#x6EE4;&#x6876;&#xFF0C;&#x5F53;&#x6587;&#x6863;&#x6EE1;&#x8DB3;&#x8FC7;&#x6EE4;&#x6876;&#x7684;&#x6761;&#x4EF6;&#x65F6;&#xFF0C;&#x6211;&#x4EEC;&#x5C06;&#x5176;&#x52A0;&#x5165;&#x5230;&#x6876;&#x5185;&#x3002;</p>
<p>&#x67E5;&#x8BE2;&#x7ED3;&#x679C;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
   <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
   <span class="hljs-string">&quot;query&quot;</span>:{
      <span class="hljs-string">&quot;match&quot;</span>: {
         <span class="hljs-string">&quot;make&quot;</span>: <span class="hljs-string">&quot;ford&quot;</span>
      }
   },
   <span class="hljs-string">&quot;aggs&quot;</span>:{
      <span class="hljs-string">&quot;recent_sales&quot;</span>: {
         <span class="hljs-string">&quot;filter&quot;</span>: {                         &lt;1&gt;
            &quot;range&quot;: {
               &quot;sold&quot;: {
                  &quot;from&quot;: &quot;now-1M&quot;
               }
            }
         },
         &quot;aggs&quot;: {
            &quot;average_price&quot;:{
               &quot;avg&quot;: {
                  &quot;field&quot;: &quot;price&quot;           &lt;2&gt;
               }
            }
         }
      }
   }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x4F7F;&#x7528; <code>&#x8FC7;&#x6EE4;</code> &#x6876;&#x5728; <code>&#x67E5;&#x8BE2;</code> &#x8303;&#x56F4;&#x57FA;&#x7840;&#x4E0A;&#x5E94;&#x7528;&#x8FC7;&#x6EE4;&#x5668;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">   <code>avg</code> &#x5EA6;&#x91CF;&#x53EA;&#x4F1A;&#x5BF9; <code>ford</code> &#x548C;&#x4E0A;&#x4E2A;&#x6708;&#x552E;&#x51FA;&#x7684;&#x6587;&#x6863;&#x8BA1;&#x7B97;&#x5E73;&#x5747;&#x552E;&#x4EF7;&#x3002;  </p>
</blockquote>
<p>&#x56E0;&#x4E3A; <code>filter</code> &#x6876;&#x548C;&#x5176;&#x4ED6;&#x6876;&#x7684;&#x64CD;&#x4F5C;&#x65B9;&#x5F0F;&#x4E00;&#x6837;&#xFF0C;&#x6240;&#x4EE5;&#x53EF;&#x4EE5;&#x968F;&#x610F;&#x5C06;&#x5176;&#x4ED6;&#x6876;&#x548C;&#x5EA6;&#x91CF;&#x5D4C;&#x5165;&#x5176;&#x4E2D;&#x3002;&#x6240;&#x6709;&#x5D4C;&#x5957;&#x7684;&#x7EC4;&#x4EF6;&#x90FD;&#x4F1A; &quot;&#x7EE7;&#x627F;&quot; &#x8FD9;&#x4E2A;&#x8FC7;&#x6EE4;&#xFF0C;&#x8FD9;&#x4F7F;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6309;&#x9700;&#x9488;&#x5BF9;&#x805A;&#x5408;&#x8FC7;&#x6EE4;&#x51FA;&#x9009;&#x62E9;&#x90E8;&#x5206;&#x3002;</p>
<h3 id="&#x540E;&#x8FC7;&#x6EE4;&#x5668;"><a name="&#x540E;&#x8FC7;&#x6EE4;&#x5668;" class="anchor-navigation-ex-anchor" href="#&#x540E;&#x8FC7;&#x6EE4;&#x5668;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x540E;&#x8FC7;&#x6EE4;&#x5668;</h3>
<p>&#x76EE;&#x524D;&#x4E3A;&#x6B62;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x540C;&#x65F6;&#x5BF9;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x548C;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x8FDB;&#x884C;&#x8FC7;&#x6EE4;&#xFF08;&#x4E0D;&#x8BA1;&#x7B97;&#x5F97;&#x5206;&#x7684; <code>filter</code> &#x67E5;&#x8BE2;&#xFF09;&#xFF0C;&#x4EE5;&#x53CA;&#x9488;&#x5BF9;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x7684;&#x4E00;&#x90E8;&#x5206;&#x8FDB;&#x884C;&#x8FC7;&#x6EE4;&#xFF08; <code>filter</code> &#x6876;&#xFF09;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x4F1A;&#x60F3;&#xFF0C;&quot;&#x53EA;&#x8FC7;&#x6EE4;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#xFF0C;&#x4E0D;&#x8FC7;&#x6EE4;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x5462;&#xFF1F;&quot; &#x7B54;&#x6848;&#x662F;&#x4F7F;&#x7528; <code>post_filter</code> &#x3002;</p>
<p>&#x5B83;&#x662F;&#x63A5;&#x6536;&#x4E00;&#x4E2A;&#x8FC7;&#x6EE4;&#x5668;&#x7684;&#x9876;&#x5C42;&#x641C;&#x7D22;&#x8BF7;&#x6C42;&#x5143;&#x7D20;&#x3002;&#x8FD9;&#x4E2A;&#x8FC7;&#x6EE4;&#x5668;&#x5728;&#x67E5;&#x8BE2; <em>&#x4E4B;&#x540E;</em> &#x6267;&#x884C;&#xFF08;&#x8FD9;&#x6B63;&#x662F;&#x8BE5;&#x8FC7;&#x6EE4;&#x5668;&#x7684;&#x540D;&#x5B57;&#x7684;&#x7531;&#x6765;&#xFF1A;&#x5B83;&#x5728;&#x67E5;&#x8BE2;&#x4E4B;&#x540E; <code>post</code> &#x6267;&#x884C;&#xFF09;&#x3002;&#x6B63;&#x56E0;&#x4E3A;&#x5B83;&#x5728;&#x67E5;&#x8BE2;&#x4E4B;&#x540E;&#x6267;&#x884C;&#xFF0C;&#x5B83;&#x5BF9;&#x67E5;&#x8BE2;&#x8303;&#x56F4;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x5F71;&#x54CD;&#xFF0C;&#x6240;&#x4EE5;&#x5BF9;&#x805A;&#x5408;&#x4E5F;&#x4E0D;&#x4F1A;&#x6709;&#x4EFB;&#x4F55;&#x5F71;&#x54CD;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x8FD9;&#x4E2A;&#x884C;&#x4E3A;&#x5BF9;&#x67E5;&#x8BE2;&#x6761;&#x4EF6;&#x5E94;&#x7528;&#x66F4;&#x591A;&#x7684;&#x8FC7;&#x6EE4;&#x5668;&#xFF0C;&#x800C;&#x4E0D;&#x4F1A;&#x5F71;&#x54CD;&#x5176;&#x4ED6;&#x7684;&#x64CD;&#x4F5C;&#xFF0C;&#x5C31;&#x5982; UI &#x4E0A;&#x7684;&#x5404;&#x4E2A;&#x5206;&#x7C7B;&#x9762;&#x3002;&#x8BA9;&#x6211;&#x4EEC;&#x4E3A;&#x6C7D;&#x8F66;&#x7ECF;&#x9500;&#x5546;&#x8BBE;&#x8BA1;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x641C;&#x7D22;&#x9875;&#x9762;&#xFF0C;&#x8FD9;&#x4E2A;&#x9875;&#x9762;&#x5141;&#x8BB8;&#x7528;&#x6237;&#x641C;&#x7D22;&#x6C7D;&#x8F66;&#x540C;&#x65F6;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x989C;&#x8272;&#x6765;&#x8FC7;&#x6EE4;&#x3002;&#x989C;&#x8272;&#x7684;&#x9009;&#x9879;&#x662F;&#x901A;&#x8FC7;&#x805A;&#x5408;&#x83B7;&#x5F97;&#x7684;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;query&quot;</span>: {
        <span class="hljs-string">&quot;match&quot;</span>: {
            <span class="hljs-string">&quot;make&quot;</span>: <span class="hljs-string">&quot;ford&quot;</span>
        }
    },
    <span class="hljs-string">&quot;post_filter&quot;</span>: {                              <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
        &quot;term&quot; : {
            &quot;color&quot; : &quot;green&quot;
        }
    },
    &quot;aggs&quot; : {
        &quot;all_colors&quot;: {
            &quot;terms&quot; : { &quot;field&quot; : &quot;color&quot; }
        }
    }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>post_filter</code> &#x5143;&#x7D20;&#x662F; <code>top-level</code> &#x800C;&#x4E14;&#x4EC5;&#x5BF9;&#x547D;&#x4E2D;&#x7ED3;&#x679C;&#x8FDB;&#x884C;&#x8FC7;&#x6EE4;&#x3002;  </p>
</blockquote>
<p><code>&#x67E5;&#x8BE2;</code> &#x90E8;&#x5206;&#x627E;&#x5230;&#x6240;&#x6709;&#x7684; <code>ford</code> &#x6C7D;&#x8F66;&#xFF0C;&#x7136;&#x540E;&#x7528; <code>terms</code> &#x805A;&#x5408;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x989C;&#x8272;&#x5217;&#x8868;&#x3002;&#x56E0;&#x4E3A;&#x805A;&#x5408;&#x5BF9;&#x67E5;&#x8BE2;&#x8303;&#x56F4;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#xFF0C;&#x989C;&#x8272;&#x5217;&#x8868;&#x4E0E;&#x798F;&#x7279;&#x6C7D;&#x8F66;&#x6709;&#x7684;&#x989C;&#x8272;&#x76F8;&#x5BF9;&#x5E94;&#x3002;</p>
<p>&#x6700;&#x540E;&#xFF0C; <code>post_filter</code> &#x4F1A;&#x8FC7;&#x6EE4;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#xFF0C;&#x53EA;&#x5C55;&#x793A;&#x7EFF;&#x8272; <code>ford</code> &#x6C7D;&#x8F66;&#x3002;&#x8FD9;&#x5728;&#x67E5;&#x8BE2;&#x6267;&#x884C;&#x8FC7; <em>&#x540E;</em> &#x53D1;&#x751F;&#xFF0C;&#x6240;&#x4EE5;&#x805A;&#x5408;&#x4E0D;&#x53D7;&#x5F71;&#x54CD;&#x3002;</p>
<p>&#x8FD9;&#x901A;&#x5E38;&#x5BF9; UI &#x7684;&#x8FDE;&#x8D2F;&#x4E00;&#x81F4;&#x6027;&#x5F88;&#x91CD;&#x8981;&#xFF0C;&#x53EF;&#x4EE5;&#x60F3;&#x8C61;&#x7528;&#x6237;&#x5728;&#x754C;&#x9762;&#x5546;&#x9009;&#x62E9;&#x4E86;&#x4E00;&#x7C7B;&#x989C;&#x8272;&#xFF08;&#x6BD4;&#x5982;&#xFF1A;&#x7EFF;&#x8272;&#xFF09;&#xFF0C;&#x671F;&#x671B;&#x7684;&#x662F;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x5DF2;&#x7ECF;&#x88AB;&#x8FC7;&#x6EE4;&#x4E86;&#xFF0C;&#x800C; <em>&#x4E0D;&#x662F;</em> &#x8FC7;&#x6EE4;&#x754C;&#x9762;&#x4E0A;&#x7684;&#x9009;&#x9879;&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x5E94;&#x7528; <code>filter</code> &#x67E5;&#x8BE2;&#xFF0C;&#x754C;&#x9762;&#x4F1A;&#x9A6C;&#x4E0A;&#x53D8;&#x6210; <em>&#x53EA;</em> &#x663E;&#x793A; <code>&#x7EFF;&#x8272;</code> &#x4F5C;&#x4E3A;&#x9009;&#x9879;&#xFF0C;&#x8FD9;&#x4E0D;&#x662F;&#x7528;&#x6237;&#x60F3;&#x8981;&#x7684;&#xFF01;</p>
<blockquote>
<p> <img src="assets/warning.png" alt="&#x8B66;&#x544A;">  <strong>&#x6027;&#x80FD;&#x8003;&#x8651;&#xFF08;Performance consideration&#xFF09;</strong><br> &#x5F53;&#x4F60;&#x9700;&#x8981;&#x5BF9;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x548C;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x505A;&#x4E0D;&#x540C;&#x7684;&#x8FC7;&#x6EE4;&#x65F6;&#xFF0C;&#x4F60;&#x624D;&#x5E94;&#x8BE5;&#x4F7F;&#x7528; <code>post_filter</code> &#xFF0C; &#x6709;&#x65F6;&#x7528;&#x6237;&#x4F1A;&#x5728;&#x666E;&#x901A;&#x641C;&#x7D22;&#x4F7F;&#x7528; <code>post_filter</code> &#x3002;</p>
<p> &#x4E0D;&#x8981;&#x8FD9;&#x4E48;&#x505A;&#xFF01; <code>post_filter</code> &#x7684;&#x7279;&#x6027;&#x662F;&#x5728;&#x67E5;&#x8BE2; <em>&#x4E4B;&#x540E;</em> &#x6267;&#x884C;&#xFF0C;&#x4EFB;&#x4F55;&#x8FC7;&#x6EE4;&#x5BF9;&#x6027;&#x80FD;&#x5E26;&#x6765;&#x7684;&#x597D;&#x5904;&#xFF08;&#x6BD4;&#x5982;&#x7F13;&#x5B58;&#xFF09;&#x90FD;&#x4F1A;&#x5B8C;&#x5168;&#x5931;&#x53BB;&#x3002;</p>
<p> &#x5728;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E0D;&#x540C;&#x8FC7;&#x6EE4;&#x65F6;&#xFF0C; <code>post_filter</code> &#x53EA;&#x4E0E;&#x805A;&#x5408;&#x4E00;&#x8D77;&#x4F7F;&#x7528;&#x3002;</p>
</blockquote>
<h3 id="&#x5C0F;&#x7ED3;5_2"><a name="&#x5C0F;&#x7ED3;5_2" class="anchor-navigation-ex-anchor" href="#&#x5C0F;&#x7ED3;5_2"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5C0F;&#x7ED3;  </h3>
<p>&#x9009;&#x62E9;&#x5408;&#x9002;&#x7C7B;&#x578B;&#x7684;&#x8FC7;&#x6EE4;&#xFF08;&#x5982;&#xFF1A;&#x641C;&#x7D22;&#x547D;&#x4E2D;&#x3001;&#x805A;&#x5408;&#x6216;&#x4E24;&#x8005;&#x517C;&#x6709;&#xFF09;&#x901A;&#x5E38;&#x548C;&#x6211;&#x4EEC;&#x671F;&#x671B;&#x5982;&#x4F55;&#x8868;&#x73B0;&#x7528;&#x6237;&#x4EA4;&#x4E92;&#x6709;&#x5173;&#x3002;&#x9009;&#x62E9;&#x5408;&#x9002;&#x7684;&#x8FC7;&#x6EE4;&#x5668;&#xFF08;&#x6216;&#x7EC4;&#x5408;&#xFF09;&#x53D6;&#x51B3;&#x4E8E;&#x6211;&#x4EEC;&#x671F;&#x671B;&#x5982;&#x4F55;&#x5C06;&#x7ED3;&#x679C;&#x5448;&#x73B0;&#x7ED9;&#x7528;&#x6237;&#x3002;</p>
<ul>
<li>&#x5728; <code>filter</code> &#x8FC7;&#x6EE4;&#x4E2D;&#x7684; <code>non-scoring</code> &#x67E5;&#x8BE2;&#xFF0C;&#x540C;&#x65F6;&#x5F71;&#x54CD;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x548C;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x3002;</li>
<li><code>filter</code> &#x6876;&#x5F71;&#x54CD;&#x805A;&#x5408;&#x3002;</li>
<li><code>post_filter</code> &#x53EA;&#x5F71;&#x54CD;&#x641C;&#x7D22;&#x7ED3;&#x679C;&#x3002;</li>
</ul>
<h2 id="&#x591A;&#x6876;&#x6392;&#x5E8F;"><a name="&#x591A;&#x6876;&#x6392;&#x5E8F;" class="anchor-navigation-ex-anchor" href="#&#x591A;&#x6876;&#x6392;&#x5E8F;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x591A;&#x6876;&#x6392;&#x5E8F;</h2>
<p>&#x591A;&#x503C;&#x6876;&#xFF08; <code>terms</code> &#x3001; <code>histogram</code> &#x548C; <code>date_histogram</code> &#xFF09;&#x52A8;&#x6001;&#x751F;&#x6210;&#x5F88;&#x591A;&#x6876;&#x3002; Elasticsearch &#x662F;&#x5982;&#x4F55;&#x51B3;&#x5B9A;&#x8FD9;&#x4E9B;&#x6876;&#x5C55;&#x793A;&#x7ED9;&#x7528;&#x6237;&#x7684;&#x987A;&#x5E8F;&#x5462;&#xFF1F;</p>
<p>&#x9ED8;&#x8BA4;&#x7684;&#xFF0C;&#x6876;&#x4F1A;&#x6839;&#x636E; <code>doc_count</code> &#x964D;&#x5E8F;&#x6392;&#x5217;&#x3002;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x9ED8;&#x8BA4;&#x884C;&#x4E3A;&#xFF0C;&#x56E0;&#x4E3A;&#x901A;&#x5E38;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x627E;&#x5230;&#x6587;&#x6863;&#x4E2D;&#x4E0E;&#x67E5;&#x8BE2;&#x6761;&#x4EF6;&#x76F8;&#x5173;&#x7684;&#x6700;&#x5927;&#x503C;&#xFF1A;&#x552E;&#x4EF7;&#x3001;&#x4EBA;&#x53E3;&#x6570;&#x91CF;&#x3001;&#x9891;&#x7387;&#x3002;&#x4F46;&#x6709;&#x4E9B;&#x65F6;&#x5019;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x80FD;&#x4FEE;&#x6539;&#x8FD9;&#x4E2A;&#x987A;&#x5E8F;&#xFF0C;&#x4E0D;&#x540C;&#x7684;&#x6876;&#x6709;&#x7740;&#x4E0D;&#x540C;&#x7684;&#x5904;&#x7406;&#x65B9;&#x5F0F;&#x3002;</p>
<h3 id="&#x5185;&#x7F6E;&#x6392;&#x5E8F;"><a name="&#x5185;&#x7F6E;&#x6392;&#x5E8F;" class="anchor-navigation-ex-anchor" href="#&#x5185;&#x7F6E;&#x6392;&#x5E8F;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x5185;&#x7F6E;&#x6392;&#x5E8F;</h3>
<p>&#x8FD9;&#x4E9B;&#x6392;&#x5E8F;&#x6A21;&#x5F0F;&#x662F;&#x6876; <em>&#x56FA;&#x6709;&#x7684;</em> &#x80FD;&#x529B;&#xFF1A;&#x5B83;&#x4EEC;&#x64CD;&#x4F5C;&#x6876;&#x751F;&#x6210;&#x7684;&#x6570;&#x636E; &#xFF0C;&#x6BD4;&#x5982; <code>doc_count</code> &#x3002; &#x5B83;&#x4EEC;&#x5171;&#x4EAB;&#x76F8;&#x540C;&#x7684;&#x8BED;&#x6CD5;&#xFF0C;&#x4F46;&#x662F;&#x6839;&#x636E;&#x4F7F;&#x7528;&#x6876;&#x7684;&#x4E0D;&#x540C;&#x4F1A;&#x6709;&#x4E9B;&#x7EC6;&#x5FAE;&#x5DEE;&#x522B;&#x3002;</p>
<p>&#x8BA9;&#x6211;&#x4EEC;&#x505A;&#x4E00;&#x4E2A; <code>terms</code> &#x805A;&#x5408;&#x4F46;&#x662F;&#x6309; <code>doc_count</code> &#x503C;&#x7684;&#x5347;&#x5E8F;&#x6392;&#x5E8F;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;colors&quot;</span> : {
            <span class="hljs-string">&quot;terms&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color&quot;</span>,
              <span class="hljs-string">&quot;order&quot;</span>: {
                <span class="hljs-string">&quot;_count&quot;</span> : <span class="hljs-string">&quot;asc&quot;</span>       &lt;<span class="hljs-number">1</span>&gt;
              }
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x7528;&#x5173;&#x952E;&#x5B57; <code>_count</code> &#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6309; <code>doc_count</code> &#x503C;&#x7684;&#x5347;&#x5E8F;&#x6392;&#x5E8F;&#x3002;   </p>
</blockquote>
<p>&#x6211;&#x4EEC;&#x4E3A;&#x805A;&#x5408;&#x5F15;&#x5165;&#x4E86;&#x4E00;&#x4E2A; <code>order</code> &#x5BF9;&#x8C61;&#xFF0C; &#x5B83;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x4EE5;&#x4E0B;&#x51E0;&#x4E2A;&#x503C;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x503C;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#xFF1A;</p>
<ul>
<li><p><code>_count</code></p>
<p>&#x6309;&#x6587;&#x6863;&#x6570;&#x6392;&#x5E8F;&#x3002;&#x5BF9; <code>terms</code> &#x3001; <code>histogram</code> &#x3001; <code>date_histogram</code> &#x6709;&#x6548;&#x3002;</p>
</li>
<li><p><code>_term</code></p>
<p>&#x6309;&#x8BCD;&#x9879;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x503C;&#x7684;&#x5B57;&#x6BCD;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#x3002;&#x53EA;&#x5728; <code>terms</code> &#x5185;&#x4F7F;&#x7528;&#x3002;</p>
</li>
<li><p><code>_key</code></p>
<p>&#x6309;&#x6BCF;&#x4E2A;&#x6876;&#x7684;&#x952E;&#x503C;&#x6570;&#x503C;&#x6392;&#x5E8F;&#xFF08;&#x7406;&#x8BBA;&#x4E0A;&#x4E0E; <code>_term</code> &#x7C7B;&#x4F3C;&#xFF09;&#x3002; &#x53EA;&#x5728; <code>histogram</code> &#x548C; <code>date_histogram</code> &#x5185;&#x4F7F;&#x7528;&#x3002;</p>
</li>
</ul>
<h3 id="&#x6309;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;"><a name="&#x6309;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;" class="anchor-navigation-ex-anchor" href="#&#x6309;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6309;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;</h3>
<p>&#x6709;&#x65F6;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x60F3;&#x57FA;&#x4E8E;&#x5EA6;&#x91CF;&#x8BA1;&#x7B97;&#x7684;&#x7ED3;&#x679C;&#x503C;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x3002; &#x5728;&#x6211;&#x4EEC;&#x7684;&#x6C7D;&#x8F66;&#x9500;&#x552E;&#x5206;&#x6790;&#x4EEA;&#x8868;&#x76D8;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x60F3;&#x6309;&#x7167;&#x6C7D;&#x8F66;&#x989C;&#x8272;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x9500;&#x552E;&#x6761;&#x72B6;&#x56FE;&#x8868;&#xFF0C;&#x4F46;&#x6309;&#x7167;&#x6C7D;&#x8F66;&#x5E73;&#x5747;&#x552E;&#x4EF7;&#x7684;&#x5347;&#x5E8F;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x5EA6;&#x91CF;&#xFF0C;&#x518D;&#x6307;&#x5B9A; <code>order</code> &#x53C2;&#x6570;&#x5F15;&#x7528;&#x8FD9;&#x4E2A;&#x5EA6;&#x91CF;&#x5373;&#x53EF;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;colors&quot;</span> : {
            <span class="hljs-string">&quot;terms&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color&quot;</span>,
              <span class="hljs-string">&quot;order&quot;</span>: {
                <span class="hljs-string">&quot;avg_price&quot;</span> : <span class="hljs-string">&quot;asc&quot;</span>             &lt;<span class="hljs-number">1</span>&gt;
              }
            },
            <span class="hljs-string">&quot;aggs&quot;</span>: {
                <span class="hljs-string">&quot;avg_price&quot;</span>: {
                    <span class="hljs-string">&quot;avg&quot;</span>: {<span class="hljs-string">&quot;field&quot;</span>: <span class="hljs-string">&quot;price&quot;</span>}   &lt;<span class="hljs-number">2</span>&gt;
                }
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6876;&#x6309;&#x7167;&#x8BA1;&#x7B97;&#x5E73;&#x5747;&#x503C;&#x7684;&#x5347;&#x5E8F;&#x6392;&#x5E8F;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x8BA1;&#x7B97;&#x6BCF;&#x4E2A;&#x6876;&#x7684;&#x5E73;&#x5747;&#x552E;&#x4EF7;&#x3002;     </p>
</blockquote>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x91C7;&#x7528;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x7528;&#x4EFB;&#x4F55;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;&#xFF0C;&#x53EA;&#x9700;&#x7B80;&#x5355;&#x7684;&#x5F15;&#x7528;&#x5EA6;&#x91CF;&#x7684;&#x540D;&#x5B57;&#x3002;&#x4E0D;&#x8FC7;&#x6709;&#x4E9B;&#x5EA6;&#x91CF;&#x4F1A;&#x8F93;&#x51FA;&#x591A;&#x4E2A;&#x503C;&#x3002; <code>extended_stats</code> &#x5EA6;&#x91CF;&#x662F;&#x4E00;&#x4E2A;&#x5F88;&#x597D;&#x7684;&#x4F8B;&#x5B50;&#xFF1A;&#x5B83;&#x8F93;&#x51FA;&#x597D;&#x51E0;&#x4E2A;&#x5EA6;&#x91CF;&#x503C;&#x3002;</p>
<p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x60F3;&#x4F7F;&#x7528;&#x591A;&#x503C;&#x5EA6;&#x91CF;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#xFF0C; &#x6211;&#x4EEC;&#x53EA;&#x9700;&#x4EE5;&#x5173;&#x5FC3;&#x7684;&#x5EA6;&#x91CF;&#x4E3A;&#x5173;&#x952E;&#x8BCD;&#x4F7F;&#x7528;&#x70B9;&#x5F0F;&#x8DEF;&#x5F84;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;colors&quot;</span> : {
            <span class="hljs-string">&quot;terms&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color&quot;</span>,
              <span class="hljs-string">&quot;order&quot;</span>: {
                <span class="hljs-string">&quot;stats.variance&quot;</span> : <span class="hljs-string">&quot;asc&quot;</span>                   &lt;<span class="hljs-number">1</span>&gt;
              }
            },
            <span class="hljs-string">&quot;aggs&quot;</span>: {
                <span class="hljs-string">&quot;stats&quot;</span>: {
                    <span class="hljs-string">&quot;extended_stats&quot;</span>: {<span class="hljs-string">&quot;field&quot;</span>: <span class="hljs-string">&quot;price&quot;</span>}
                }
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x4F7F;&#x7528; <code>.</code> &#x7B26;&#x53F7;&#xFF0C;&#x6839;&#x636E;&#x611F;&#x5174;&#x8DA3;&#x7684;&#x5EA6;&#x91CF;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x3002;  </p>
</blockquote>
<p>&#x5728;&#x4E0A;&#x9762;&#x8FD9;&#x4E2A;&#x4F8B;&#x5B50;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x6309;&#x6BCF;&#x4E2A;&#x6876;&#x7684;&#x65B9;&#x5DEE;&#x6765;&#x6392;&#x5E8F;&#xFF0C;&#x6240;&#x4EE5;&#x8FD9;&#x79CD;&#x989C;&#x8272;&#x552E;&#x4EF7;&#x65B9;&#x5DEE;&#x6700;&#x5C0F;&#x7684;&#x4F1A;&#x6392;&#x5728;&#x7ED3;&#x679C;&#x96C6;&#x6700;&#x524D;&#x9762;&#x3002;</p>
<h3 id="&#x57FA;&#x4E8E;&#x6DF1;&#x5EA6;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;"><a name="&#x57FA;&#x4E8E;&#x6DF1;&#x5EA6;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;" class="anchor-navigation-ex-anchor" href="#&#x57FA;&#x4E8E;&#x6DF1;&#x5EA6;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x57FA;&#x4E8E;&#x201C;&#x6DF1;&#x5EA6;&#x201D;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;  </h3>
<p>&#x5728;&#x524D;&#x9762;&#x7684;&#x793A;&#x4F8B;&#x4E2D;&#xFF0C;&#x5EA6;&#x91CF;&#x662F;&#x6876;&#x7684;&#x76F4;&#x63A5;&#x5B50;&#x8282;&#x70B9;&#x3002;&#x5E73;&#x5747;&#x552E;&#x4EF7;&#x662F;&#x6839;&#x636E;&#x6BCF;&#x4E2A; <code>term</code> &#x6765;&#x8BA1;&#x7B97;&#x7684;&#x3002; &#x5728;&#x4E00;&#x5B9A;&#x6761;&#x4EF6;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x4E5F;&#x6709;&#x53EF;&#x80FD;&#x5BF9; <em>&#x66F4;&#x6DF1;</em> &#x7684;&#x5EA6;&#x91CF;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#xFF0C;&#x6BD4;&#x5982;&#x5B59;&#x5B50;&#x6876;&#x6216;&#x4ECE;&#x5B59;&#x6876;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5B9A;&#x4E49;&#x66F4;&#x6DF1;&#x7684;&#x8DEF;&#x5F84;&#xFF0C;&#x5C06;&#x5EA6;&#x91CF;&#x7528;&#x5C16;&#x62EC;&#x53F7;&#xFF08; <code>&gt;</code> &#xFF09;&#x5D4C;&#x5957;&#x8D77;&#x6765;&#xFF0C;&#x50CF;&#x8FD9;&#x6837;&#xFF1A; <code>my_bucket&gt;another_bucket&gt;metric</code> &#x3002;</p>
<p>&#x9700;&#x8981;&#x63D0;&#x9192;&#x7684;&#x662F;&#x5D4C;&#x5957;&#x8DEF;&#x5F84;&#x4E0A;&#x7684;&#x6BCF;&#x4E2A;&#x6876;&#x90FD;&#x5FC5;&#x987B;&#x662F; <em>&#x5355;&#x503C;</em> &#x7684;&#x3002; <code>filter</code> &#x6876;&#x751F;&#x6210; &#x4E00;&#x4E2A;&#x5355;&#x503C;&#x6876;&#xFF1A;&#x6240;&#x6709;&#x4E0E;&#x8FC7;&#x6EE4;&#x6761;&#x4EF6;&#x5339;&#x914D;&#x7684;&#x6587;&#x6863;&#x90FD;&#x5728;&#x6876;&#x4E2D;&#x3002; &#x591A;&#x503C;&#x6876;&#xFF08;&#x5982;&#xFF1A;<code>terms</code> &#xFF09;&#x52A8;&#x6001;&#x751F;&#x6210;&#x8BB8;&#x591A;&#x6876;&#xFF0C;&#x65E0;&#x6CD5;&#x901A;&#x8FC7;&#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x786E;&#x5B9A;&#x8DEF;&#x5F84;&#x6765;&#x8BC6;&#x522B;&#x3002;</p>
<p>&#x76EE;&#x524D;&#xFF0C;&#x53EA;&#x6709;&#x4E09;&#x4E2A;&#x5355;&#x503C;&#x6876;&#xFF1A; <code>filter</code> &#x3001; <code>global</code> &#x548C; <code>reverse_nested</code> &#x3002;&#x8BA9;&#x6211;&#x4EEC;&#x5FEB;&#x901F;&#x7528;&#x793A;&#x4F8B;&#x8BF4;&#x660E;&#xFF0C;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x6C7D;&#x8F66;&#x552E;&#x4EF7;&#x7684;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;&#x4F46;&#x662F;&#x6309;&#x7167;&#x7EA2;&#x8272;&#x548C;&#x7EFF;&#x8272;&#xFF08;&#x4E0D;&#x5305;&#x62EC;&#x84DD;&#x8272;&#xFF09;&#x8F66;&#x5404;&#x81EA;&#x7684;&#x65B9;&#x5DEE;&#x6765;&#x6392;&#x5E8F;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;colors&quot;</span> : {
            <span class="hljs-string">&quot;histogram&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;price&quot;</span>,
              <span class="hljs-string">&quot;interval&quot;</span>: <span class="hljs-number">20000</span>,
              <span class="hljs-string">&quot;order&quot;</span>: {
                <span class="hljs-string">&quot;red_green_cars&gt;stats.variance&quot;</span> : <span class="hljs-string">&quot;asc&quot;</span>                    &lt;<span class="hljs-number">1</span>&gt;
              }
            },
            <span class="hljs-string">&quot;aggs&quot;</span>: {
                <span class="hljs-string">&quot;red_green_cars&quot;</span>: {
                    <span class="hljs-string">&quot;filter&quot;</span>: { <span class="hljs-string">&quot;terms&quot;</span>: {<span class="hljs-string">&quot;color&quot;</span>: [<span class="hljs-string">&quot;red&quot;</span>, <span class="hljs-string">&quot;green&quot;</span>]}},     &lt;2&gt;
                    &quot;aggs&quot;: {
                        &quot;stats&quot;: {&quot;extended_stats&quot;: {&quot;field&quot; : &quot;price&quot;}}   &lt;3&gt;
                    }
                }
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6309;&#x7167;&#x5D4C;&#x5957;&#x5EA6;&#x91CF;&#x7684;&#x65B9;&#x5DEE;&#x5BF9;&#x6876;&#x7684;&#x76F4;&#x65B9;&#x56FE;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x3002;  </p>
<p> <img src="assets/2.png" alt="img">  &#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x5355;&#x503C;&#x8FC7;&#x6EE4;&#x5668; <code>filter</code> &#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x5D4C;&#x5957;&#x6392;&#x5E8F;&#x3002;  </p>
<p> <img src="assets/3.png" alt="img">  &#x6309;&#x7167;&#x751F;&#x6210;&#x7684;&#x5EA6;&#x91CF;&#x5BF9;&#x7EDF;&#x8BA1;&#x7ED3;&#x679C;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#x3002;      </p>
</blockquote>
<p>&#x672C;&#x4F8B;&#x4E2D;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6211;&#x4EEC;&#x5982;&#x4F55;&#x8BBF;&#x95EE;&#x4E00;&#x4E2A;&#x5D4C;&#x5957;&#x7684;&#x5EA6;&#x91CF;&#x3002; <code>stats</code> &#x5EA6;&#x91CF;&#x662F; <code>red_green_cars</code> &#x805A;&#x5408;&#x7684;&#x5B50;&#x8282;&#x70B9;&#xFF0C;&#x800C; <code>red_green_cars</code> &#x53C8;&#x662F; <code>colors</code> &#x805A;&#x5408;&#x7684;&#x5B50;&#x8282;&#x70B9;&#x3002; &#x4E3A;&#x4E86;&#x6839;&#x636E;&#x8FD9;&#x4E2A;&#x5EA6;&#x91CF;&#x6392;&#x5E8F;&#xFF0C;&#x6211;&#x4EEC;&#x5B9A;&#x4E49;&#x4E86;&#x8DEF;&#x5F84; <code>red_green_cars&gt;stats.variance</code> &#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x8FD9;&#x4E48;&#x505A;&#xFF0C;&#x56E0;&#x4E3A; <code>filter</code> &#x6876;&#x662F;&#x4E2A;&#x5355;&#x503C;&#x6876;&#x3002;</p>
<h2 id="&#x8FD1;&#x4F3C;&#x805A;&#x5408;"><a name="&#x8FD1;&#x4F3C;&#x805A;&#x5408;" class="anchor-navigation-ex-anchor" href="#&#x8FD1;&#x4F3C;&#x805A;&#x5408;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x8FD1;&#x4F3C;&#x805A;&#x5408;</h2>
<p>&#x5982;&#x679C;&#x6240;&#x6709;&#x7684;&#x6570;&#x636E;&#x90FD;&#x5728;&#x4E00;&#x53F0;&#x673A;&#x5668;&#x4E0A;&#xFF0C;&#x90A3;&#x4E48;&#x751F;&#x6D3B;&#x4F1A;&#x5BB9;&#x6613;&#x8BB8;&#x591A;&#x3002; CS201 &#x8BFE;&#x4E0A;&#x6559;&#x7684;&#x7ECF;&#x5178;&#x7B97;&#x6CD5;&#x5C31;&#x8DB3;&#x591F;&#x5E94;&#x4ED8;&#x8FD9;&#x4E9B;&#x95EE;&#x9898;&#x3002;&#x5982;&#x679C;&#x6240;&#x6709;&#x7684;&#x6570;&#x636E;&#x90FD;&#x5728;&#x4E00;&#x53F0;&#x673A;&#x5668;&#x4E0A;&#xFF0C;&#x90A3;&#x4E48;&#x4E5F;&#x5C31;&#x4E0D;&#x9700;&#x8981;&#x50CF; Elasticsearch &#x8FD9;&#x6837;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x8F6F;&#x4EF6;&#x4E86;&#x3002;&#x4E0D;&#x8FC7;&#x4E00;&#x65E6;&#x6211;&#x4EEC;&#x5F00;&#x59CB;&#x5206;&#x5E03;&#x5F0F;&#x5B58;&#x50A8;&#x6570;&#x636E;&#xFF0C;&#x5C31;&#x9700;&#x8981;&#x5C0F;&#x5FC3;&#x5730;&#x9009;&#x62E9;&#x7B97;&#x6CD5;&#x3002;</p>
<p>&#x6709;&#x4E9B;&#x7B97;&#x6CD5;&#x53EF;&#x4EE5;&#x5206;&#x5E03;&#x6267;&#x884C;&#xFF0C;&#x5230;&#x76EE;&#x524D;&#x4E3A;&#x6B62;&#x8BA8;&#x8BBA;&#x8FC7;&#x7684;&#x6240;&#x6709;&#x805A;&#x5408;&#x90FD;&#x662F;&#x5355;&#x6B21;&#x8BF7;&#x6C42;&#x83B7;&#x5F97;&#x7CBE;&#x786E;&#x7ED3;&#x679C;&#x7684;&#x3002;&#x8FD9;&#x4E9B;&#x7C7B;&#x578B;&#x7684;&#x7B97;&#x6CD5;&#x901A;&#x5E38;&#x88AB;&#x8BA4;&#x4E3A;&#x662F; <em>&#x9AD8;&#x5EA6;&#x5E76;&#x884C;&#x7684;</em> &#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x4EEC;&#x65E0;&#x987B;&#x4EFB;&#x4F55;&#x989D;&#x5916;&#x4EE3;&#x4EF7;&#xFF0C;&#x5C31;&#x80FD;&#x5728;&#x591A;&#x53F0;&#x673A;&#x5668;&#x4E0A;&#x5E76;&#x884C;&#x6267;&#x884C;&#x3002;&#x6BD4;&#x5982;&#x5F53;&#x8BA1;&#x7B97; <code>max</code> &#x5EA6;&#x91CF;&#x65F6;&#xFF0C;&#x4EE5;&#x4E0B;&#x7684;&#x7B97;&#x6CD5;&#x5C31;&#x975E;&#x5E38;&#x7B80;&#x5355;&#xFF1A;</p>
<ol>
<li>&#x628A;&#x8BF7;&#x6C42;&#x5E7F;&#x64AD;&#x5230;&#x6240;&#x6709;&#x5206;&#x7247;&#x3002;</li>
<li>&#x67E5;&#x770B;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x7684; <code>price</code> &#x5B57;&#x6BB5;&#x3002;&#x5982;&#x679C; <code>price &gt; current_max</code> &#xFF0C;&#x5C06; <code>current_max</code> &#x66FF;&#x6362;&#x6210; <code>price</code> &#x3002;</li>
<li>&#x8FD4;&#x56DE;&#x6240;&#x6709;&#x5206;&#x7247;&#x7684;&#x6700;&#x5927; <code>price</code> &#x5E76;&#x4F20;&#x7ED9;&#x534F;&#x8C03;&#x8282;&#x70B9;&#x3002;</li>
<li>&#x627E;&#x5230;&#x4ECE;&#x6240;&#x6709;&#x5206;&#x7247;&#x8FD4;&#x56DE;&#x7684;&#x6700;&#x5927; <code>price</code> &#x3002;&#x8FD9;&#x662F;&#x6700;&#x7EC8;&#x7684;&#x6700;&#x5927;&#x503C;&#x3002;</li>
</ol>
<p>&#x8FD9;&#x4E2A;&#x7B97;&#x6CD5;&#x53EF;&#x4EE5;&#x968F;&#x7740;&#x673A;&#x5668;&#x6570;&#x7684;&#x7EBF;&#x6027;&#x589E;&#x957F;&#x800C;&#x6A2A;&#x5411;&#x6269;&#x5C55;&#xFF0C;&#x65E0;&#x987B;&#x4EFB;&#x4F55;&#x534F;&#x8C03;&#x64CD;&#x4F5C;&#xFF08;&#x673A;&#x5668;&#x4E4B;&#x95F4;&#x4E0D;&#x9700;&#x8981;&#x8BA8;&#x8BBA;&#x4E2D;&#x95F4;&#x7ED3;&#x679C;&#xFF09;&#xFF0C;&#x800C;&#x4E14;&#x5185;&#x5B58;&#x6D88;&#x8017;&#x5F88;&#x5C0F;&#xFF08;&#x4E00;&#x4E2A;&#x6574;&#x578B;&#x5C31;&#x80FD;&#x4EE3;&#x8868;&#x6700;&#x5927;&#x503C;&#xFF09;&#x3002;</p>
<p>&#x4E0D;&#x5E78;&#x7684;&#x662F;&#xFF0C;&#x4E0D;&#x662F;&#x6240;&#x6709;&#x7684;&#x7B97;&#x6CD5;&#x90FD;&#x50CF;&#x83B7;&#x53D6;&#x6700;&#x5927;&#x503C;&#x8FD9;&#x6837;&#x7B80;&#x5355;&#x3002;&#x66F4;&#x52A0;&#x590D;&#x6742;&#x7684;&#x64CD;&#x4F5C;&#x5219;&#x9700;&#x8981;&#x5728;&#x7B97;&#x6CD5;&#x7684;&#x6027;&#x80FD;&#x548C;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x4E0A;&#x505A;&#x51FA;&#x6743;&#x8861;&#x3002;&#x5BF9;&#x4E8E;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x6211;&#x4EEC;&#x6709;&#x4E2A;&#x4E09;&#x89D2;&#x56E0;&#x5B50;&#x6A21;&#x578B;&#xFF1A;&#x5927;&#x6570;&#x636E;&#x3001;&#x7CBE;&#x786E;&#x6027;&#x548C;&#x5B9E;&#x65F6;&#x6027;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x9700;&#x8981;&#x9009;&#x62E9;&#x5176;&#x4E2D;&#x4E24;&#x9879;&#xFF1A;</p>
<ul>
<li><p>&#x7CBE;&#x786E; + &#x5B9E;&#x65F6;</p>
<p>&#x6570;&#x636E;&#x53EF;&#x4EE5;&#x5B58;&#x5165;&#x5355;&#x53F0;&#x673A;&#x5668;&#x7684;&#x5185;&#x5B58;&#x4E4B;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x968F;&#x5FC3;&#x6240;&#x6B32;&#xFF0C;&#x4F7F;&#x7528;&#x4EFB;&#x4F55;&#x60F3;&#x7528;&#x7684;&#x7B97;&#x6CD5;&#x3002;&#x7ED3;&#x679C;&#x4F1A; 100% &#x7CBE;&#x786E;&#xFF0C;&#x54CD;&#x5E94;&#x4F1A;&#x76F8;&#x5BF9;&#x5FEB;&#x901F;&#x3002;</p>
</li>
<li><p>&#x5927;&#x6570;&#x636E; + &#x7CBE;&#x786E;</p>
<p>&#x4F20;&#x7EDF;&#x7684; Hadoop&#x3002;&#x53EF;&#x4EE5;&#x5904;&#x7406; PB &#x7EA7;&#x7684;&#x6570;&#x636E;&#x5E76;&#x4E14;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x7CBE;&#x786E;&#x7684;&#x7B54;&#x6848;&#xFF0C;&#x4F46;&#x5B83;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x51E0;&#x5468;&#x7684;&#x65F6;&#x95F4;&#x624D;&#x80FD;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x8FD9;&#x4E2A;&#x7B54;&#x6848;&#x3002;</p>
</li>
<li><p>&#x5927;&#x6570;&#x636E; + &#x5B9E;&#x65F6;</p>
<p>&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x4E3A;&#x6211;&#x4EEC;&#x63D0;&#x4F9B;&#x51C6;&#x786E;&#x4F46;&#x4E0D;&#x7CBE;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x3002;</p>
</li>
</ul>
<p>Elasticsearch &#x76EE;&#x524D;&#x652F;&#x6301;&#x4E24;&#x79CD;&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#xFF08; <code>cardinality</code> &#x548C; <code>percentiles</code> &#xFF09;&#x3002; &#x5B83;&#x4EEC;&#x4F1A;&#x63D0;&#x4F9B;&#x51C6;&#x786E;&#x4F46;&#x4E0D;&#x662F; 100% &#x7CBE;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x3002; &#x4EE5;&#x727A;&#x7272;&#x4E00;&#x70B9;&#x5C0F;&#x5C0F;&#x7684;&#x4F30;&#x7B97;&#x9519;&#x8BEF;&#x4E3A;&#x4EE3;&#x4EF7;&#xFF0C;&#x8FD9;&#x4E9B;&#x7B97;&#x6CD5;&#x53EF;&#x4EE5;&#x4E3A;&#x6211;&#x4EEC;&#x6362;&#x6765;&#x9AD8;&#x901F;&#x7684;&#x6267;&#x884C;&#x6548;&#x7387;&#x548C;&#x6781;&#x5C0F;&#x7684;&#x5185;&#x5B58;&#x6D88;&#x8017;&#x3002;</p>
<p>&#x5BF9;&#x4E8E; <em>&#x5927;&#x591A;&#x6570;</em> &#x5E94;&#x7528;&#x9886;&#x57DF;&#xFF0C;&#x80FD;&#x591F; <em>&#x5B9E;&#x65F6;</em> &#x8FD4;&#x56DE;&#x9AD8;&#x5EA6;&#x51C6;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x8981;&#x6BD4; 100% &#x7CBE;&#x786E;&#x7ED3;&#x679C;&#x91CD;&#x8981;&#x5F97;&#x591A;&#x3002;&#x4E4D;&#x4E00;&#x770B;&#x8FD9;&#x53EF;&#x80FD;&#x662F;&#x5929;&#x65B9;&#x591C;&#x8C2D;&#x3002;&#x6709;&#x4EBA;&#x4F1A;&#x53EB; <em>&#x201C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x7CBE;&#x786E;&#x7684;&#x7B54;&#x6848;&#xFF01;&#x201D;</em> &#x3002;&#x4F46;&#x4ED4;&#x7EC6;&#x8003;&#x8651; 0.5% &#x8BEF;&#x5DEE;&#x6240;&#x5E26;&#x6765;&#x7684;&#x5F71;&#x54CD;&#xFF1A;</p>
<ul>
<li>99% &#x7684;&#x7F51;&#x7AD9;&#x5EF6;&#x65F6;&#x90FD;&#x5728; 132ms &#x4EE5;&#x4E0B;&#x3002;</li>
<li>0.5% &#x7684;&#x8BEF;&#x5DEE;&#x5BF9;&#x4EE5;&#x4E0A;&#x5EF6;&#x65F6;&#x7684;&#x5F71;&#x54CD;&#x5728;&#x6B63;&#x8D1F; 0.66ms &#x3002;</li>
<li>&#x8FD1;&#x4F3C;&#x8BA1;&#x7B97;&#x7684;&#x7ED3;&#x679C;&#x4F1A;&#x5728;&#x6BEB;&#x79D2;&#x5185;&#x8FD4;&#x56DE;&#xFF0C;&#x800C;&#x201C;&#x5B8C;&#x5168;&#x6B63;&#x786E;&#x201D;&#x7684;&#x7ED3;&#x679C;&#x5C31;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x51E0;&#x79D2;&#xFF0C;&#x751A;&#x81F3;&#x65E0;&#x6CD5;&#x8FD4;&#x56DE;&#x3002;</li>
</ul>
<p>&#x53EA;&#x8981;&#x7B80;&#x5355;&#x7684;&#x67E5;&#x770B;&#x7F51;&#x7AD9;&#x7684;&#x5EF6;&#x65F6;&#x60C5;&#x51B5;&#xFF0C;&#x96BE;&#x9053;&#x6211;&#x4EEC;&#x4F1A;&#x5728;&#x610F;&#x8FD1;&#x4F3C;&#x7ED3;&#x679C;&#x662F; 132.66ms &#x800C;&#x4E0D;&#x662F; 132ms &#x5417;&#xFF1F;&#x5F53;&#x7136;&#xFF0C;&#x4E0D;&#x662F;&#x6240;&#x6709;&#x7684;&#x9886;&#x57DF;&#x90FD;&#x80FD;&#x5BB9;&#x5FCD;&#x8FD9;&#x79CD;&#x8FD1;&#x4F3C;&#x7ED3;&#x679C;&#xFF0C;&#x4F46;&#x5BF9;&#x4E8E;&#x7EDD;&#x5927;&#x591A;&#x6570;&#x6765;&#x8BF4;&#x662F;&#x6CA1;&#x6709;&#x95EE;&#x9898;&#x7684;&#x3002;&#x63A5;&#x53D7;&#x8FD1;&#x4F3C;&#x7ED3;&#x679C;&#x66F4;&#x591A;&#x7684;&#x662F;&#x4E00;&#x79CD; <em>&#x6587;&#x5316;&#x89C2;&#x5FF5;&#x4E0A;</em> &#x7684;&#x58C1;&#x5792;&#x800C;&#x4E0D;&#x662F;&#x5546;&#x4E1A;&#x6216;&#x6280;&#x672F;&#x4E0A;&#x7684;&#x9700;&#x8981;&#x3002;</p>
<h3 id="&#x7EDF;&#x8BA1;&#x53BB;&#x91CD;&#x540E;&#x7684;&#x6570;&#x91CF;"><a name="&#x7EDF;&#x8BA1;&#x53BB;&#x91CD;&#x540E;&#x7684;&#x6570;&#x91CF;" class="anchor-navigation-ex-anchor" href="#&#x7EDF;&#x8BA1;&#x53BB;&#x91CD;&#x540E;&#x7684;&#x6570;&#x91CF;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x7EDF;&#x8BA1;&#x53BB;&#x91CD;&#x540E;&#x7684;&#x6570;&#x91CF;</h3>
<p>Elasticsearch &#x63D0;&#x4F9B;&#x7684;&#x9996;&#x4E2A;&#x8FD1;&#x4F3C;&#x805A;&#x5408;&#x662F; <code>cardinality</code> &#xFF08;&#x6CE8;&#xFF1A;&#x57FA;&#x6570;&#xFF09;&#x5EA6;&#x91CF;&#x3002; &#x5B83;&#x63D0;&#x4F9B;&#x4E00;&#x4E2A;&#x5B57;&#x6BB5;&#x7684;&#x57FA;&#x6570;&#xFF0C;&#x5373;&#x8BE5;&#x5B57;&#x6BB5;&#x7684; <em>distinct</em> &#x6216;&#x8005; <em>unique</em> &#x503C;&#x7684;&#x6570;&#x76EE;&#x3002; &#x4F60;&#x53EF;&#x80FD;&#x4F1A;&#x5BF9; SQL &#x5F62;&#x5F0F;&#x6BD4;&#x8F83;&#x719F;&#x6089;&#xFF1A;</p>
<pre><code class="lang-sql"><span class="hljs-keyword">SELECT</span> <span class="hljs-keyword">COUNT</span>(<span class="hljs-keyword">DISTINCT</span> color)
<span class="hljs-keyword">FROM</span> cars
</code></pre>
<p>&#x53BB;&#x91CD;&#x662F;&#x4E00;&#x4E2A;&#x5F88;&#x5E38;&#x89C1;&#x7684;&#x64CD;&#x4F5C;&#xFF0C;&#x53EF;&#x4EE5;&#x56DE;&#x7B54;&#x5F88;&#x591A;&#x57FA;&#x672C;&#x7684;&#x4E1A;&#x52A1;&#x95EE;&#x9898;&#xFF1A;</p>
<ul>
<li>&#x7F51;&#x7AD9;&#x72EC;&#x7ACB;&#x8BBF;&#x5BA2;&#x662F;&#x591A;&#x5C11;&#xFF1F;</li>
<li>&#x5356;&#x4E86;&#x591A;&#x5C11;&#x79CD;&#x6C7D;&#x8F66;&#xFF1F;</li>
<li>&#x6BCF;&#x6708;&#x6709;&#x591A;&#x5C11;&#x72EC;&#x7ACB;&#x7528;&#x6237;&#x8D2D;&#x4E70;&#x4E86;&#x5546;&#x54C1;&#xFF1F;</li>
</ul>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528; <code>cardinality</code> &#x5EA6;&#x91CF;&#x786E;&#x5B9A;&#x7ECF;&#x9500;&#x5546;&#x9500;&#x552E;&#x6C7D;&#x8F66;&#x989C;&#x8272;&#x7684;&#x6570;&#x91CF;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;distinct_colors&quot;</span> : {
            <span class="hljs-string">&quot;cardinality&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color&quot;</span>
            }
        }
    }
}
</code></pre>
<p>&#x8FD4;&#x56DE;&#x7684;&#x7ED3;&#x679C;&#x8868;&#x660E;&#x5DF2;&#x7ECF;&#x552E;&#x5356;&#x4E86;&#x4E09;&#x79CD;&#x4E0D;&#x540C;&#x989C;&#x8272;&#x7684;&#x6C7D;&#x8F66;&#xFF1A;</p>
<pre><code class="lang-js">...
<span class="hljs-string">&quot;aggregations&quot;</span>: {
  <span class="hljs-string">&quot;distinct_colors&quot;</span>: {
     <span class="hljs-string">&quot;value&quot;</span>: <span class="hljs-number">3</span>
  }
}
...
</code></pre>
<p>&#x53EF;&#x4EE5;&#x8BA9;&#x6211;&#x4EEC;&#x7684;&#x4F8B;&#x5B50;&#x53D8;&#x5F97;&#x66F4;&#x6709;&#x7528;&#xFF1A;&#x6BCF;&#x6708;&#x6709;&#x591A;&#x5C11;&#x989C;&#x8272;&#x7684;&#x8F66;&#x88AB;&#x552E;&#x51FA;&#xFF1F;&#x4E3A;&#x4E86;&#x5F97;&#x5230;&#x8FD9;&#x4E2A;&#x5EA6;&#x91CF;&#xFF0C;&#x6211;&#x4EEC;&#x53EA;&#x9700;&#x8981;&#x5C06;&#x4E00;&#x4E2A; <code>cardinality</code> &#x5EA6;&#x91CF;&#x5D4C;&#x5165;&#x4E00;&#x4E2A; <code>date_histogram</code> &#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
  <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
  <span class="hljs-string">&quot;aggs&quot;</span> : {
      <span class="hljs-string">&quot;months&quot;</span> : {
        <span class="hljs-string">&quot;date_histogram&quot;</span>: {
          <span class="hljs-string">&quot;field&quot;</span>: <span class="hljs-string">&quot;sold&quot;</span>,
          <span class="hljs-string">&quot;interval&quot;</span>: <span class="hljs-string">&quot;month&quot;</span>
        },
        <span class="hljs-string">&quot;aggs&quot;</span>: {
          <span class="hljs-string">&quot;distinct_colors&quot;</span> : {
              <span class="hljs-string">&quot;cardinality&quot;</span> : {
                <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color&quot;</span>
              }
          }
        }
      }
  }
}
</code></pre>
<p><strong>&#x5B66;&#x4F1A;&#x6743;&#x8861;</strong></p>
<p>&#x6B63;&#x5982;&#x6211;&#x4EEC;&#x672C;&#x7AE0;&#x5F00;&#x5934;&#x63D0;&#x5230;&#x7684;&#xFF0C; <code>cardinality</code> &#x5EA6;&#x91CF;&#x662F;&#x4E00;&#x4E2A;&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x3002; &#x5B83;&#x662F;&#x57FA;&#x4E8E; <a href="http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/40671.pdf" target="_blank">HyperLogLog++</a> &#xFF08;HLL&#xFF09;&#x7B97;&#x6CD5;&#x7684;&#x3002; HLL &#x4F1A;&#x5148;&#x5BF9;&#x6211;&#x4EEC;&#x7684;&#x8F93;&#x5165;&#x4F5C;&#x54C8;&#x5E0C;&#x8FD0;&#x7B97;&#xFF0C;&#x7136;&#x540E;&#x6839;&#x636E;&#x54C8;&#x5E0C;&#x8FD0;&#x7B97;&#x7684;&#x7ED3;&#x679C;&#x4E2D;&#x7684; bits &#x505A;&#x6982;&#x7387;&#x4F30;&#x7B97;&#x4ECE;&#x800C;&#x5F97;&#x5230;&#x57FA;&#x6570;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x4E0D;&#x9700;&#x8981;&#x7406;&#x89E3;&#x6280;&#x672F;&#x7EC6;&#x8282;&#xFF08;&#x5982;&#x679C;&#x786E;&#x5B9E;&#x611F;&#x5174;&#x8DA3;&#xFF0C;&#x53EF;&#x4EE5;&#x9605;&#x8BFB;&#x8FD9;&#x7BC7;&#x8BBA;&#x6587;&#xFF09;&#xFF0C; &#x4F46;&#x6211;&#x4EEC;&#x6700;&#x597D;&#x5E94;&#x8BE5;&#x5173;&#x6CE8;&#x4E00;&#x4E0B;&#x8FD9;&#x4E2A;&#x7B97;&#x6CD5;&#x7684; <em>&#x7279;&#x6027;</em> &#xFF1A;</p>
<ul>
<li>&#x53EF;&#x914D;&#x7F6E;&#x7684;&#x7CBE;&#x5EA6;&#xFF0C;&#x7528;&#x6765;&#x63A7;&#x5236;&#x5185;&#x5B58;&#x7684;&#x4F7F;&#x7528;&#xFF08;&#x66F4;&#x7CBE;&#x786E; &#xFF1D; &#x66F4;&#x591A;&#x5185;&#x5B58;&#xFF09;&#x3002;</li>
<li>&#x5C0F;&#x7684;&#x6570;&#x636E;&#x96C6;&#x7CBE;&#x5EA6;&#x662F;&#x975E;&#x5E38;&#x9AD8;&#x7684;&#x3002;</li>
<li>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x53C2;&#x6570;&#xFF0C;&#x6765;&#x8BBE;&#x7F6E;&#x53BB;&#x91CD;&#x9700;&#x8981;&#x7684;&#x56FA;&#x5B9A;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x91CF;&#x3002;&#x65E0;&#x8BBA;&#x6570;&#x5343;&#x8FD8;&#x662F;&#x6570;&#x5341;&#x4EBF;&#x7684;&#x552F;&#x4E00;&#x503C;&#xFF0C;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x91CF;&#x53EA;&#x4E0E;&#x4F60;&#x914D;&#x7F6E;&#x7684;&#x7CBE;&#x786E;&#x5EA6;&#x76F8;&#x5173;&#x3002;</li>
</ul>
<p>&#x8981;&#x914D;&#x7F6E;&#x7CBE;&#x5EA6;&#xFF0C;&#x6211;&#x4EEC;&#x5FC5;&#x987B;&#x6307;&#x5B9A; <code>precision_threshold</code> &#x53C2;&#x6570;&#x7684;&#x503C;&#x3002; &#x8FD9;&#x4E2A;&#x9608;&#x503C;&#x5B9A;&#x4E49;&#x4E86;&#x5728;&#x4F55;&#x79CD;&#x57FA;&#x6570;&#x6C34;&#x5E73;&#x4E0B;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x8FD1;&#x4E4E;&#x7CBE;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x53C2;&#x8003;&#x4EE5;&#x4E0B;&#x793A;&#x4F8B;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;distinct_colors&quot;</span> : {
            <span class="hljs-string">&quot;cardinality&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color&quot;</span>,
              <span class="hljs-string">&quot;precision_threshold&quot;</span> : <span class="hljs-number">100</span>             &lt;<span class="hljs-number">1</span>&gt;
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>precision_threshold</code> &#x63A5;&#x53D7; 0&#x2013;40,000 &#x4E4B;&#x95F4;&#x7684;&#x6570;&#x5B57;&#xFF0C;&#x66F4;&#x5927;&#x7684;&#x503C;&#x8FD8;&#x662F;&#x4F1A;&#x88AB;&#x5F53;&#x4F5C; 40,000 &#x6765;&#x5904;&#x7406;&#x3002;   </p>
</blockquote>
<p>&#x793A;&#x4F8B;&#x4F1A;&#x786E;&#x4FDD;&#x5F53;&#x5B57;&#x6BB5;&#x552F;&#x4E00;&#x503C;&#x5728; 100 &#x4EE5;&#x5185;&#x65F6;&#x4F1A;&#x5F97;&#x5230;&#x975E;&#x5E38;&#x51C6;&#x786E;&#x7684;&#x7ED3;&#x679C;&#x3002;&#x5C3D;&#x7BA1;&#x7B97;&#x6CD5;&#x662F;&#x65E0;&#x6CD5;&#x4FDD;&#x8BC1;&#x8FD9;&#x70B9;&#x7684;&#xFF0C;&#x4F46;&#x5982;&#x679C;&#x57FA;&#x6570;&#x5728;&#x9608;&#x503C;&#x4EE5;&#x4E0B;&#xFF0C;&#x51E0;&#x4E4E;&#x603B;&#x662F; 100% &#x6B63;&#x786E;&#x7684;&#x3002;&#x9AD8;&#x4E8E;&#x9608;&#x503C;&#x7684;&#x57FA;&#x6570;&#x4F1A;&#x5F00;&#x59CB;&#x8282;&#x7701;&#x5185;&#x5B58;&#x800C;&#x727A;&#x7272;&#x51C6;&#x786E;&#x5EA6;&#xFF0C;&#x540C;&#x65F6;&#x4E5F;&#x4F1A;&#x5BF9;&#x5EA6;&#x91CF;&#x7ED3;&#x679C;&#x5E26;&#x5165;&#x8BEF;&#x5DEE;&#x3002;</p>
<p>&#x5BF9;&#x4E8E;&#x6307;&#x5B9A;&#x7684;&#x9608;&#x503C;&#xFF0C;HLL &#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x4F1A;&#x5927;&#x6982;&#x4F7F;&#x7528; <code>precision_threshold * 8</code> &#x5B57;&#x8282;&#x7684;&#x5185;&#x5B58;&#xFF0C;&#x6240;&#x4EE5;&#x5C31;&#x5FC5;&#x987B;&#x5728;&#x727A;&#x7272;&#x5185;&#x5B58;&#x548C;&#x83B7;&#x5F97;&#x989D;&#x5916;&#x7684;&#x51C6;&#x786E;&#x5EA6;&#x95F4;&#x505A;&#x5E73;&#x8861;&#x3002;</p>
<p>&#x5728;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;&#xFF0C; <code>100</code> &#x7684;&#x9608;&#x503C;&#x53EF;&#x4EE5;&#x5728;&#x552F;&#x4E00;&#x503C;&#x4E3A;&#x767E;&#x4E07;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x4ECD;&#x7136;&#x5C06;&#x8BEF;&#x5DEE;&#x7EF4;&#x6301; 5% &#x4EE5;&#x5185;&#x3002;</p>
<p><strong>&#x901F;&#x5EA6;&#x4F18;&#x5316;</strong></p>
<p>&#x5982;&#x679C;&#x60F3;&#x8981;&#x83B7;&#x5F97;&#x552F;&#x4E00;&#x503C;&#x7684;&#x6570;&#x76EE;&#xFF0C; <em>&#x901A;&#x5E38;</em> &#x9700;&#x8981;&#x67E5;&#x8BE2;&#x6574;&#x4E2A;&#x6570;&#x636E;&#x96C6;&#x5408;&#xFF08;&#x6216;&#x51E0;&#x4E4E;&#x6240;&#x6709;&#x6570;&#x636E;&#xFF09;&#x3002; &#x6240;&#x6709;&#x57FA;&#x4E8E;&#x6240;&#x6709;&#x6570;&#x636E;&#x7684;&#x64CD;&#x4F5C;&#x90FD;&#x5FC5;&#x987B;&#x8FC5;&#x901F;&#xFF0C;&#x539F;&#x56E0;&#x662F;&#x663E;&#x7136;&#x7684;&#x3002; HyperLogLog &#x7684;&#x901F;&#x5EA6;&#x5DF2;&#x7ECF;&#x5F88;&#x5FEB;&#x4E86;&#xFF0C;&#x5B83;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x7684;&#x5BF9;&#x6570;&#x636E;&#x505A;&#x54C8;&#x5E0C;&#x4EE5;&#x53CA;&#x4E00;&#x4E9B;&#x4F4D;&#x64CD;&#x4F5C;&#x3002;</p>
<p>&#x4F46;&#x5982;&#x679C;&#x901F;&#x5EA6;&#x5BF9;&#x6211;&#x4EEC;&#x81F3;&#x5173;&#x91CD;&#x8981;&#xFF0C;&#x53EF;&#x4EE5;&#x505A;&#x8FDB;&#x4E00;&#x6B65;&#x7684;&#x4F18;&#x5316;&#x3002; &#x56E0;&#x4E3A; HLL &#x53EA;&#x9700;&#x8981;&#x5B57;&#x6BB5;&#x5185;&#x5BB9;&#x7684;&#x54C8;&#x5E0C;&#x503C;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5728;&#x7D22;&#x5F15;&#x65F6;&#x5C31;&#x9884;&#x5148;&#x8BA1;&#x7B97;&#x597D;&#x3002; &#x5C31;&#x80FD;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x8DF3;&#x8FC7;&#x54C8;&#x5E0C;&#x8BA1;&#x7B97;&#x7136;&#x540E;&#x5C06;&#x54C8;&#x5E0C;&#x503C;&#x4ECE; fielddata &#x76F4;&#x63A5;&#x52A0;&#x8F7D;&#x51FA;&#x6765;&#x3002;</p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x9884;&#x5148;&#x8BA1;&#x7B97;&#x54C8;&#x5E0C;&#x503C;&#x53EA;&#x5BF9;&#x5185;&#x5BB9;&#x5F88;&#x957F;&#x6216;&#x8005;&#x57FA;&#x6570;&#x5F88;&#x9AD8;&#x7684;&#x5B57;&#x6BB5;&#x6709;&#x7528;&#xFF0C;&#x8BA1;&#x7B97;&#x8FD9;&#x4E9B;&#x5B57;&#x6BB5;&#x7684;&#x54C8;&#x5E0C;&#x503C;&#x7684;&#x6D88;&#x8017;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x662F;&#x65E0;&#x6CD5;&#x5FFD;&#x7565;&#x7684;&#x3002;  </p>
</blockquote>
<p>&#x5C3D;&#x7BA1;&#x6570;&#x503C;&#x5B57;&#x6BB5;&#x7684;&#x54C8;&#x5E0C;&#x8BA1;&#x7B97;&#x662F;&#x975E;&#x5E38;&#x5FEB;&#x901F;&#x7684;&#xFF0C;&#x5B58;&#x50A8;&#x5B83;&#x4EEC;&#x7684;&#x539F;&#x59CB;&#x503C;&#x901A;&#x5E38;&#x9700;&#x8981;&#x540C;&#x6837;&#xFF08;&#x6216;&#x66F4;&#x5C11;&#xFF09;&#x7684;&#x5185;&#x5B58;&#x7A7A;&#x95F4;&#x3002;&#x8FD9;&#x5BF9;&#x4F4E;&#x57FA;&#x6570;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x540C;&#x6837;&#x9002;&#x7528;&#xFF0C;Elasticsearch &#x7684;&#x5185;&#x90E8;&#x4F18;&#x5316;&#x80FD;&#x591F;&#x4FDD;&#x8BC1;&#x6BCF;&#x4E2A;&#x552F;&#x4E00;&#x503C;&#x53EA;&#x8BA1;&#x7B97;&#x4E00;&#x6B21;&#x54C8;&#x5E0C;&#x3002;</p>
<p>&#x57FA;&#x672C;&#x4E0A;&#x8BF4;&#xFF0C;&#x9884;&#x5148;&#x8BA1;&#x7B97;&#x5E76;&#x4E0D;&#x80FD;&#x4FDD;&#x8BC1;&#x6240;&#x6709;&#x7684;&#x5B57;&#x6BB5;&#x90FD;&#x66F4;&#x5FEB;&#xFF0C;&#x5B83;&#x53EA;&#x5BF9;&#x90A3;&#x4E9B;&#x5177;&#x6709;&#x9AD8;&#x57FA;&#x6570;&#x548C;/&#x6216;&#x8005;&#x5185;&#x5BB9;&#x5F88;&#x957F;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x6709;&#x4F5C;&#x7528;&#x3002;&#x9700;&#x8981;&#x8BB0;&#x4F4F;&#x7684;&#x662F;&#xFF0C;&#x9884;&#x8BA1;&#x7B97;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x7684;&#x5C06;&#x67E5;&#x8BE2;&#x6D88;&#x8017;&#x7684;&#x65F6;&#x95F4;&#x63D0;&#x524D;&#x8F6C;&#x79FB;&#x5230;&#x7D22;&#x5F15;&#x65F6;&#xFF0C;&#x5E76;&#x975E;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x4EE3;&#x4EF7;&#xFF0C;&#x533A;&#x522B;&#x5728;&#x4E8E;&#x4F60;&#x53EF;&#x4EE5;&#x9009;&#x62E9;&#x5728; <em>&#x4EC0;&#x4E48;&#x65F6;&#x5019;</em> &#x505A;&#x8FD9;&#x4EF6;&#x4E8B;&#xFF0C;&#x8981;&#x4E48;&#x5728;&#x7D22;&#x5F15;&#x65F6;&#xFF0C;&#x8981;&#x4E48;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x3002;</p>
<p>&#x8981;&#x60F3;&#x8FD9;&#x4E48;&#x505A;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E3A;&#x6570;&#x636E;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x591A;&#x503C;&#x5B57;&#x6BB5;&#x3002;&#x6211;&#x4EEC;&#x5148;&#x5220;&#x9664;&#x7D22;&#x5F15;&#xFF0C;&#x518D;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x5305;&#x62EC;&#x54C8;&#x5E0C;&#x503C;&#x5B57;&#x6BB5;&#x7684;&#x6620;&#x5C04;&#xFF0C;&#x7136;&#x540E;&#x91CD;&#x65B0;&#x7D22;&#x5F15;&#xFF1A;</p>
<pre><code class="lang-js">DELETE /cars/

PUT /cars/
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;transactions&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;color&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;fields&quot;</span>: {
            <span class="hljs-string">&quot;hash&quot;</span>: {
              <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;murmur3&quot;</span>     &lt;<span class="hljs-number">1</span>&gt;
            }
          }
        }
      }
    }
  }
}

POST /cars/transactions/_bulk
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">10000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;red&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;honda&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">20000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;red&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;honda&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-11-05&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">30000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;green&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;ford&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-05-18&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">15000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;blue&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;toyota&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-07-02&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">12000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;green&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;toyota&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-08-19&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">20000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;red&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;honda&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-11-05&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">80000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;red&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;bmw&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-01-01&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;price&quot;</span> : <span class="hljs-number">25000</span>, <span class="hljs-string">&quot;color&quot;</span> : <span class="hljs-string">&quot;blue&quot;</span>, <span class="hljs-string">&quot;make&quot;</span> : <span class="hljs-string">&quot;ford&quot;</span>, <span class="hljs-string">&quot;sold&quot;</span> : <span class="hljs-string">&quot;2014-02-12&quot;</span> }
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x591A;&#x503C;&#x5B57;&#x6BB5;&#x7684;&#x7C7B;&#x578B;&#x662F; <code>murmur3</code> &#xFF0C;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x54C8;&#x5E0C;&#x51FD;&#x6570;&#x3002;   </p>
</blockquote>
<p>&#x73B0;&#x5728;&#x5F53;&#x6211;&#x4EEC;&#x6267;&#x884C;&#x805A;&#x5408;&#x65F6;&#xFF0C;&#x6211;&#x4EEC;&#x4F7F;&#x7528; <code>color.hash</code> &#x5B57;&#x6BB5;&#x800C;&#x4E0D;&#x662F; <code>color</code> &#x5B57;&#x6BB5;&#xFF1A;</p>
<pre><code class="lang-js">GET /cars/transactions/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;distinct_colors&quot;</span> : {
            <span class="hljs-string">&quot;cardinality&quot;</span> : {
              <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;color.hash&quot;</span>      &lt;<span class="hljs-number">1</span>&gt;
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6CE8;&#x610F;&#x6211;&#x4EEC;&#x6307;&#x5B9A;&#x7684;&#x662F;&#x54C8;&#x5E0C;&#x8FC7;&#x7684;&#x591A;&#x503C;&#x5B57;&#x6BB5;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x539F;&#x59CB;&#x5B57;&#x6BB5;&#x3002;   </p>
</blockquote>
<p>&#x73B0;&#x5728; <code>cardinality</code> &#x5EA6;&#x91CF;&#x4F1A;&#x8BFB;&#x53D6; <code>&quot;color.hash&quot;</code> &#x91CC;&#x7684;&#x503C;&#xFF08;&#x9884;&#x5148;&#x8BA1;&#x7B97;&#x7684;&#x54C8;&#x5E0C;&#x503C;&#xFF09;&#xFF0C;&#x53D6;&#x4EE3;&#x52A8;&#x6001;&#x8BA1;&#x7B97;&#x539F;&#x59CB;&#x503C;&#x7684;&#x54C8;&#x5E0C;&#x3002;</p>
<p>&#x5355;&#x4E2A;&#x6587;&#x6863;&#x8282;&#x7701;&#x7684;&#x65F6;&#x95F4;&#x662F;&#x975E;&#x5E38;&#x5C11;&#x7684;&#xFF0C;&#x4F46;&#x662F;&#x5982;&#x679C;&#x4F60;&#x805A;&#x5408;&#x4E00;&#x4EBF;&#x6570;&#x636E;&#xFF0C;&#x6BCF;&#x4E2A;&#x5B57;&#x6BB5;&#x591A;&#x82B1;&#x8D39; 10 &#x7EB3;&#x79D2;&#x7684;&#x65F6;&#x95F4;&#xFF0C;&#x90A3;&#x4E48;&#x5728;&#x6BCF;&#x6B21;&#x67E5;&#x8BE2;&#x65F6;&#x90FD;&#x4F1A;&#x989D;&#x5916;&#x589E;&#x52A0; 1 &#x79D2;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x8981;&#x5728;&#x975E;&#x5E38;&#x5927;&#x91CF;&#x7684;&#x6570;&#x636E;&#x91CC;&#x9762;&#x4F7F;&#x7528; <code>cardinality</code> &#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6743;&#x8861;&#x4F7F;&#x7528;&#x9884;&#x8BA1;&#x7B97;&#x7684;&#x610F;&#x4E49;&#xFF0C;&#x662F;&#x5426;&#x9700;&#x8981;&#x63D0;&#x524D;&#x8BA1;&#x7B97; hash&#xFF0C;&#x4ECE;&#x800C;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x83B7;&#x5F97;&#x66F4;&#x597D;&#x7684;&#x6027;&#x80FD;&#xFF0C;&#x505A;&#x4E00;&#x4E9B;&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x6765;&#x68C0;&#x9A8C;&#x9884;&#x8BA1;&#x7B97;&#x54C8;&#x5E0C;&#x662F;&#x5426;&#x9002;&#x7528;&#x4E8E;&#x4F60;&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;&#x3002;&#x3002;</p>
<h3 id="&#x767E;&#x5206;&#x4F4D;&#x8BA1;&#x7B97;"><a name="&#x767E;&#x5206;&#x4F4D;&#x8BA1;&#x7B97;" class="anchor-navigation-ex-anchor" href="#&#x767E;&#x5206;&#x4F4D;&#x8BA1;&#x7B97;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x767E;&#x5206;&#x4F4D;&#x8BA1;&#x7B97;</h3>
<p>Elasticsearch &#x63D0;&#x4F9B;&#x7684;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x8FD1;&#x4F3C;&#x5EA6;&#x91CF;&#x5C31;&#x662F; <code>percentiles</code> &#x767E;&#x5206;&#x4F4D;&#x6570;&#x5EA6;&#x91CF;&#x3002; &#x767E;&#x5206;&#x4F4D;&#x6570;&#x5C55;&#x73B0;&#x67D0;&#x4EE5;&#x5177;&#x4F53;&#x767E;&#x5206;&#x6BD4;&#x4E0B;&#x89C2;&#x5BDF;&#x5230;&#x7684;&#x6570;&#x503C;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x7B2C;95&#x4E2A;&#x767E;&#x5206;&#x4F4D;&#x4E0A;&#x7684;&#x6570;&#x503C;&#xFF0C;&#x662F;&#x9AD8;&#x4E8E; 95% &#x7684;&#x6570;&#x636E;&#x603B;&#x548C;&#x3002;</p>
<p>&#x767E;&#x5206;&#x4F4D;&#x6570;&#x901A;&#x5E38;&#x7528;&#x6765;&#x627E;&#x51FA;&#x5F02;&#x5E38;&#x3002;&#x5728;&#xFF08;&#x7EDF;&#x8BA1;&#x5B66;&#xFF09;&#x7684;&#x6B63;&#x6001;&#x5206;&#x5E03;&#x4E0B;&#xFF0C;&#x7B2C; 0.13 &#x548C; &#x7B2C; 99.87 &#x7684;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x4EE3;&#x8868;&#x4E0E;&#x5747;&#x503C;&#x8DDD;&#x79BB;&#x4E09;&#x500D;&#x6807;&#x51C6;&#x5DEE;&#x7684;&#x503C;&#x3002;&#x4EFB;&#x4F55;&#x5904;&#x4E8E;&#x4E09;&#x500D;&#x6807;&#x51C6;&#x5DEE;&#x4E4B;&#x5916;&#x7684;&#x6570;&#x636E;&#x901A;&#x5E38;&#x88AB;&#x8BA4;&#x4E3A;&#x662F;&#x4E0D;&#x5BFB;&#x5E38;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x4E0E;&#x5E73;&#x5747;&#x503C;&#x76F8;&#x5DEE;&#x592A;&#x5927;&#x3002;</p>
<p>&#x66F4;&#x5177;&#x4F53;&#x7684;&#x8BF4;&#xFF0C;&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x6B63;&#x8FD0;&#x884C;&#x4E00;&#x4E2A;&#x5E9E;&#x5927;&#x7684;&#x7F51;&#x7AD9;&#xFF0C;&#x4E00;&#x4E2A;&#x5F88;&#x91CD;&#x8981;&#x7684;&#x5DE5;&#x4F5C;&#x662F;&#x4FDD;&#x8BC1;&#x7528;&#x6237;&#x8BF7;&#x6C42;&#x80FD;&#x5F97;&#x5230;&#x5FEB;&#x901F;&#x54CD;&#x5E94;&#xFF0C;&#x56E0;&#x6B64;&#x6211;&#x4EEC;&#x5C31;&#x9700;&#x8981;&#x76D1;&#x63A7;&#x7F51;&#x7AD9;&#x7684;&#x5EF6;&#x65F6;&#x6765;&#x5224;&#x65AD;&#x54CD;&#x5E94;&#x662F;&#x5426;&#x80FD;&#x4FDD;&#x8BC1;&#x826F;&#x597D;&#x7684;&#x7528;&#x6237;&#x4F53;&#x9A8C;&#x3002;</p>
<p>&#x5728;&#x6B64;&#x573A;&#x666F;&#x4E0B;&#xFF0C;&#x4E00;&#x4E2A;&#x5E38;&#x7528;&#x7684;&#x5EA6;&#x91CF;&#x65B9;&#x6CD5;&#x5C31;&#x662F;&#x5E73;&#x5747;&#x54CD;&#x5E94;&#x5EF6;&#x65F6;&#x3002; &#x4F46;&#x8FD9;&#x5E76;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x9009;&#x62E9;&#xFF08;&#x5C3D;&#x7BA1;&#x5F88;&#x5E38;&#x7528;&#xFF09;&#xFF0C;&#x56E0;&#x4E3A;&#x5E73;&#x5747;&#x6570;&#x901A;&#x5E38;&#x4F1A;&#x9690;&#x85CF;&#x90A3;&#x4E9B;&#x5F02;&#x5E38;&#x503C;&#xFF0C; &#x4E2D;&#x4F4D;&#x6570;&#x6709;&#x7740;&#x540C;&#x6837;&#x7684;&#x95EE;&#x9898;&#x3002; &#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5C1D;&#x8BD5;&#x6700;&#x5927;&#x503C;&#xFF0C;&#x4F46;&#x8FD9;&#x4E2A;&#x5EA6;&#x91CF;&#x4F1A;&#x8F7B;&#x800C;&#x6613;&#x4E3E;&#x7684;&#x88AB;&#x5355;&#x4E2A;&#x5F02;&#x5E38;&#x503C;&#x7834;&#x574F;&#x3002;</p>
<p>&#x5728;&#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/percentiles.html#percentile-mean-median" target="_blank">&#x56FE; 40 &#x201C;Average request latency over time&#x201D;</a> &#x67E5;&#x770B;&#x95EE;&#x9898;&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x4F9D;&#x9760;&#x5982;&#x5E73;&#x5747;&#x503C;&#x6216;&#x4E2D;&#x4F4D;&#x6570;&#x8FD9;&#x6837;&#x7684;&#x7B80;&#x5355;&#x5EA6;&#x91CF;&#xFF0C;&#x5C31;&#x4F1A;&#x5F97;&#x5230;&#x50CF;&#x8FD9;&#x6837;&#x4E00;&#x5E45;&#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/percentiles.html#percentile-mean-median" target="_blank">&#x56FE; 40 &#x201C;Average request latency over time&#x201D;</a> &#x3002;</p>
<p><strong>&#x56FE; 40. Average request latency over time</strong></p>
<p><img src="assets/elas_33in01.png" alt="Assessing website latency using mean/median"></p>
<p>&#x4E00;&#x5207;&#x6B63;&#x5E38;&#x3002; &#x56FE;&#x4E0A;&#x6709;&#x8F7B;&#x5FAE;&#x7684;&#x6CE2;&#x52A8;&#xFF0C;&#x4F46;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x503C;&#x5F97;&#x5173;&#x6CE8;&#x7684;&#x3002; &#x4F46;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x52A0;&#x8F7D; 99 &#x767E;&#x5206;&#x4F4D;&#x6570;&#x65F6;&#xFF08;&#x8FD9;&#x4E2A;&#x503C;&#x4EE3;&#x8868;&#x6700;&#x6162;&#x7684; 1% &#x7684;&#x5EF6;&#x65F6;&#xFF09;&#xFF0C;&#x6211;&#x4EEC;&#x770B;&#x5230;&#x4E86;&#x5B8C;&#x5168;&#x4E0D;&#x540C;&#x7684;&#x4E00;&#x5E45;&#x753B;&#x9762;&#xFF0C;&#x5982;&#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/percentiles.html#percentile-mean-median-percentile" target="_blank">&#x56FE; 41 &#x201C;Average request latency with 99th percentile over time&#x201D;</a> &#x3002;</p>
<p><strong>&#x56FE; 41. Average request latency with 99th percentile over time</strong></p>
<p><img src="assets/elas_33in02.png" alt="Assessing website latency using percentiles"></p>
<p>&#x4EE4;&#x4EBA;&#x5403;&#x60CA;&#xFF01;&#x5728;&#x4E0A;&#x5348;&#x4E5D;&#x70B9;&#x534A;&#x65F6;&#xFF0C;&#x5747;&#x503C;&#x53EA;&#x6709; 75ms&#x3002;&#x5982;&#x679C;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x7CFB;&#x7EDF;&#x7BA1;&#x7406;&#x5458;&#xFF0C;&#x6211;&#x4EEC;&#x90FD;&#x4E0D;&#x4F1A;&#x770B;&#x4ED6;&#x7B2C;&#x4E8C;&#x773C;&#x3002; &#x4E00;&#x5207;&#x6B63;&#x5E38;&#xFF01;&#x4F46; 99 &#x767E;&#x5206;&#x4F4D;&#x544A;&#x8BC9;&#x6211;&#x4EEC;&#x6709; 1% &#x7684;&#x7528;&#x6237;&#x78B0;&#x5230;&#x7684;&#x5EF6;&#x65F6;&#x8D85;&#x8FC7; 850ms&#xFF0C;&#x8FD9;&#x662F;&#x53E6;&#x5916;&#x4E00;&#x5E45;&#x573A;&#x666F;&#x3002; &#x5728;&#x4E0A;&#x5348;4&#x70B9;48&#x65F6;&#x4E5F;&#x6709;&#x4E00;&#x4E2A;&#x5C0F;&#x6CE2;&#x52A8;&#xFF0C;&#x8FD9;&#x751A;&#x81F3;&#x65E0;&#x6CD5;&#x4ECE;&#x5E73;&#x5747;&#x503C;&#x548C;&#x4E2D;&#x4F4D;&#x6570;&#x66F2;&#x7EBF;&#x4E0A;&#x89C2;&#x5BDF;&#x5230;&#x3002;</p>
<p>&#x8FD9;&#x53EA;&#x662F;&#x767E;&#x5206;&#x4F4D;&#x7684;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF0C;&#x767E;&#x5206;&#x4F4D;&#x8FD8;&#x53EF;&#x4EE5;&#x88AB;&#x7528;&#x6765;&#x5FEB;&#x901F;&#x7528;&#x8089;&#x773C;&#x89C2;&#x5BDF;&#x6570;&#x636E;&#x7684;&#x5206;&#x5E03;&#xFF0C;&#x68C0;&#x67E5;&#x662F;&#x5426;&#x6709;&#x6570;&#x636E;&#x503E;&#x659C;&#x6216;&#x53CC;&#x5CF0;&#x751A;&#x81F3;&#x66F4;&#x591A;&#x3002;</p>
<p><strong>&#x767E;&#x5206;&#x4F4D;&#x5EA6;&#x91CF;</strong></p>
<p>&#x8BA9;&#x6211;&#x52A0;&#x8F7D;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x6570;&#x636E;&#x96C6;&#xFF08;&#x6C7D;&#x8F66;&#x7684;&#x6570;&#x636E;&#x4E0D;&#x592A;&#x9002;&#x7528;&#x4E8E;&#x767E;&#x5206;&#x4F4D;&#xFF09;&#x3002;&#x6211;&#x4EEC;&#x8981;&#x7D22;&#x5F15;&#x4E00;&#x7CFB;&#x5217;&#x7F51;&#x7AD9;&#x5EF6;&#x65F6;&#x6570;&#x636E;&#x7136;&#x540E;&#x8FD0;&#x884C;&#x4E00;&#x4E9B;&#x767E;&#x5206;&#x4F4D;&#x64CD;&#x4F5C;&#x8FDB;&#x884C;&#x67E5;&#x770B;&#xFF1A;</p>
<pre><code class="lang-js">POST /website/logs/_bulk
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">100</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;US&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">80</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;US&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-29&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">99</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;US&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-29&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">102</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;US&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">75</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;US&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">82</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;US&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-29&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">100</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;EU&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">280</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;EU&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-29&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">155</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;EU&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-29&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">623</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;EU&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">380</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;EU&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-28&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;latency&quot;</span> : <span class="hljs-number">319</span>, <span class="hljs-string">&quot;zone&quot;</span> : <span class="hljs-string">&quot;EU&quot;</span>, <span class="hljs-string">&quot;timestamp&quot;</span> : <span class="hljs-string">&quot;2014-10-29&quot;</span> }
</code></pre>
<p>&#x6570;&#x636E;&#x6709;&#x4E09;&#x4E2A;&#x503C;&#xFF1A;&#x5EF6;&#x65F6;&#x3001;&#x6570;&#x636E;&#x4E2D;&#x5FC3;&#x7684;&#x533A;&#x57DF;&#x4EE5;&#x53CA;&#x65F6;&#x95F4;&#x6233;&#x3002;&#x8BA9;&#x6211;&#x4EEC;&#x5BF9;&#x6570;&#x636E;&#x5168;&#x96C6;&#x8FDB;&#x884C; <em>&#x767E;&#x5206;&#x4F4D;</em> &#x64CD;&#x4F5C;&#x4EE5;&#x83B7;&#x5F97;&#x6570;&#x636E;&#x5206;&#x5E03;&#x60C5;&#x51B5;&#x7684;&#x76F4;&#x89C2;&#x611F;&#x53D7;&#xFF1A;</p>
<pre><code class="lang-js">GET /website/logs/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;load_times&quot;</span> : {
            <span class="hljs-string">&quot;percentiles&quot;</span> : {
                <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;latency&quot;</span>      &lt;<span class="hljs-number">1</span>&gt;
            }
        },
        <span class="hljs-string">&quot;avg_load_time&quot;</span> : {
            <span class="hljs-string">&quot;avg&quot;</span> : { 
                <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;latency&quot;</span>      &lt;<span class="hljs-number">2</span>&gt;
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">   <code>percentiles</code> &#x5EA6;&#x91CF;&#x88AB;&#x5E94;&#x7528;&#x5230; <code>latency</code> &#x5EF6;&#x65F6;&#x5B57;&#x6BB5;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">   &#x4E3A;&#x4E86;&#x6BD4;&#x8F83;&#xFF0C;&#x6211;&#x4EEC;&#x5BF9;&#x76F8;&#x540C;&#x5B57;&#x6BB5;&#x4F7F;&#x7528; <code>avg</code> &#x5EA6;&#x91CF;&#x3002;      </p>
</blockquote>
<p>&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;<code>percentiles</code> &#x5EA6;&#x91CF;&#x4F1A;&#x8FD4;&#x56DE;&#x4E00;&#x7EC4;&#x9884;&#x5B9A;&#x4E49;&#x7684;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x503C;&#xFF1A; <code>[1, 5, 25, 50, 75, 95, 99]</code> &#x3002;&#x5B83;&#x4EEC;&#x8868;&#x793A;&#x4E86;&#x4EBA;&#x4EEC;&#x611F;&#x5174;&#x8DA3;&#x7684;&#x5E38;&#x7528;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x503C;&#xFF0C;&#x6781;&#x7AEF;&#x7684;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x5728;&#x8303;&#x56F4;&#x7684;&#x4E24;&#x8FB9;&#xFF0C;&#x5176;&#x4ED6;&#x7684;&#x4E00;&#x4E9B;&#x5904;&#x4E8E;&#x4E2D;&#x90E8;&#x3002;&#x5728;&#x8FD4;&#x56DE;&#x7684;&#x54CD;&#x5E94;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6700;&#x5C0F;&#x5EF6;&#x65F6;&#x5728; 75ms &#x5DE6;&#x53F3;&#xFF0C;&#x800C;&#x6700;&#x5927;&#x5EF6;&#x65F6;&#x5DEE;&#x4E0D;&#x591A;&#x6709; 600ms&#x3002;&#x4E0E;&#x4E4B;&#x5F62;&#x6210;&#x5BF9;&#x6BD4;&#x7684;&#x662F;&#xFF0C;&#x5E73;&#x5747;&#x5EF6;&#x65F6;&#x5728; 200ms &#x5DE6;&#x53F3;&#xFF0C; &#x4FE1;&#x606F;&#x5E76;&#x4E0D;&#x662F;&#x5F88;&#x591A;&#xFF1A;</p>
<pre><code class="lang-js">...
<span class="hljs-string">&quot;aggregations&quot;</span>: {
  <span class="hljs-string">&quot;load_times&quot;</span>: {
     <span class="hljs-string">&quot;values&quot;</span>: {
        <span class="hljs-string">&quot;1.0&quot;</span>: <span class="hljs-number">75.55</span>,
        <span class="hljs-string">&quot;5.0&quot;</span>: <span class="hljs-number">77.75</span>,
        <span class="hljs-string">&quot;25.0&quot;</span>: <span class="hljs-number">94.75</span>,
        <span class="hljs-string">&quot;50.0&quot;</span>: <span class="hljs-number">101</span>,
        <span class="hljs-string">&quot;75.0&quot;</span>: <span class="hljs-number">289.75</span>,
        <span class="hljs-string">&quot;95.0&quot;</span>: <span class="hljs-number">489.34999999999985</span>,
        <span class="hljs-string">&quot;99.0&quot;</span>: <span class="hljs-number">596.2700000000002</span>
     }
  },
  <span class="hljs-string">&quot;avg_load_time&quot;</span>: {
     <span class="hljs-string">&quot;value&quot;</span>: <span class="hljs-number">199.58333333333334</span>
  }
}
</code></pre>
<p>&#x6240;&#x4EE5;&#x663E;&#x7136;&#x5EF6;&#x65F6;&#x7684;&#x5206;&#x5E03;&#x5F88;&#x5E7F;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x770B;&#x5B83;&#x4EEC;&#x662F;&#x5426;&#x4E0E;&#x6570;&#x636E;&#x4E2D;&#x5FC3;&#x7684;&#x5730;&#x7406;&#x533A;&#x57DF;&#x6709;&#x5173;&#xFF1A;</p>
<pre><code class="lang-js">GET /website/logs/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;zones&quot;</span> : {
            <span class="hljs-string">&quot;terms&quot;</span> : { 
                <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;zone&quot;</span>                         &lt;<span class="hljs-number">1</span>&gt;
            },
            <span class="hljs-string">&quot;aggs&quot;</span> : {
                <span class="hljs-string">&quot;load_times&quot;</span> : {
                    <span class="hljs-string">&quot;percentiles&quot;</span> : {                    &lt;2&gt;
                      &quot;field&quot; : &quot;latency&quot;,
                      &quot;percents&quot; : [50, 95.0, 99.0]      &lt;3&gt;
                    }
                },
                &quot;load_avg&quot; : {
                    &quot;avg&quot; : {
                        &quot;field&quot; : &quot;latency&quot;
                    }
                }
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">   &#x9996;&#x5148;&#x6839;&#x636E;&#x533A;&#x57DF;&#x6211;&#x4EEC;&#x5C06;&#x5EF6;&#x65F6;&#x5206;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x6876;&#x4E2D;&#x3002;       </p>
<p> <img src="assets/2.png" alt="img">   &#x518D;&#x8BA1;&#x7B97;&#x6BCF;&#x4E2A;&#x533A;&#x57DF;&#x7684;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x503C;&#x3002;            </p>
<p> <img src="assets/3.png" alt="img">  <code>percents</code> &#x53C2;&#x6570;&#x63A5;&#x53D7;&#x4E86;&#x6211;&#x4EEC;&#x60F3;&#x8FD4;&#x56DE;&#x7684;&#x4E00;&#x7EC4;&#x767E;&#x5206;&#x4F4D;&#x6570;&#xFF0C;&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x53EA;&#x5BF9;&#x957F;&#x7684;&#x5EF6;&#x65F6;&#x611F;&#x5174;&#x8DA3;&#x3002;  </p>
</blockquote>
<p>&#x5728;&#x54CD;&#x5E94;&#x7ED3;&#x679C;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53D1;&#x73B0;&#x6B27;&#x6D32;&#x533A;&#x57DF;&#xFF08;EU&#xFF09;&#x8981;&#x6BD4;&#x7F8E;&#x56FD;&#x533A;&#x57DF;&#xFF08;US&#xFF09;&#x6162;&#x5F88;&#x591A;&#xFF0C;&#x5728;&#x7F8E;&#x56FD;&#x533A;&#x57DF;&#xFF08;US&#xFF09;&#xFF0C;50 &#x767E;&#x5206;&#x4F4D;&#x4E0E; 99 &#x767E;&#x5206;&#x4F4D;&#x5341;&#x5206;&#x63A5;&#x8FD1;&#xFF0C;&#x5B83;&#x4EEC;&#x90FD;&#x63A5;&#x8FD1;&#x5747;&#x503C;&#x3002;</p>
<p>&#x4E0E;&#x4E4B;&#x5F62;&#x6210;&#x5BF9;&#x6BD4;&#x7684;&#x662F;&#xFF0C;&#x6B27;&#x6D32;&#x533A;&#x57DF;&#xFF08;EU&#xFF09;&#x5728; 50 &#x548C; 99 &#x767E;&#x5206;&#x4F4D;&#x6709;&#x8F83;&#x5927;&#x533A;&#x5206;&#x3002;&#x73B0;&#x5728;&#xFF0C;&#x663E;&#x7136;&#x53EF;&#x4EE5;&#x53D1;&#x73B0;&#x662F;&#x6B27;&#x6D32;&#x533A;&#x57DF;&#xFF08;EU&#xFF09;&#x62C9;&#x4F4E;&#x4E86;&#x5EF6;&#x65F6;&#x7684;&#x7EDF;&#x8BA1;&#x4FE1;&#x606F;&#xFF0C;&#x6211;&#x4EEC;&#x77E5;&#x9053;&#x6B27;&#x6D32;&#x533A;&#x57DF;&#x7684; 50% &#x5EF6;&#x65F6;&#x90FD;&#x5728; 300ms+&#x3002;</p>
<pre><code class="lang-js">...
<span class="hljs-string">&quot;aggregations&quot;</span>: {
  <span class="hljs-string">&quot;zones&quot;</span>: {
     <span class="hljs-string">&quot;buckets&quot;</span>: [
        {
           <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;eu&quot;</span>,
           <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">6</span>,
           <span class="hljs-string">&quot;load_times&quot;</span>: {
              <span class="hljs-string">&quot;values&quot;</span>: {
                 <span class="hljs-string">&quot;50.0&quot;</span>: <span class="hljs-number">299.5</span>,
                 <span class="hljs-string">&quot;95.0&quot;</span>: <span class="hljs-number">562.25</span>,
                 <span class="hljs-string">&quot;99.0&quot;</span>: <span class="hljs-number">610.85</span>
              }
           },
           <span class="hljs-string">&quot;load_avg&quot;</span>: {
              <span class="hljs-string">&quot;value&quot;</span>: <span class="hljs-number">309.5</span>
           }
        },
        {
           <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;us&quot;</span>,
           <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">6</span>,
           <span class="hljs-string">&quot;load_times&quot;</span>: {
              <span class="hljs-string">&quot;values&quot;</span>: {
                 <span class="hljs-string">&quot;50.0&quot;</span>: <span class="hljs-number">90.5</span>,
                 <span class="hljs-string">&quot;95.0&quot;</span>: <span class="hljs-number">101.5</span>,
                 <span class="hljs-string">&quot;99.0&quot;</span>: <span class="hljs-number">101.9</span>
              }
           },
           <span class="hljs-string">&quot;load_avg&quot;</span>: {
              <span class="hljs-string">&quot;value&quot;</span>: <span class="hljs-number">89.66666666666667</span>
           }
        }
     ]
  }
}
...
</code></pre>
<p><strong>&#x767E;&#x5206;&#x4F4D;&#x7B49;&#x7EA7;</strong></p>
<p>&#x8FD9;&#x91CC;&#x6709;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x7D27;&#x5BC6;&#x76F8;&#x5173;&#x7684;&#x5EA6;&#x91CF;&#x53EB; <code>percentile_ranks</code> &#x3002; <code>percentiles</code> &#x5EA6;&#x91CF;&#x544A;&#x8BC9;&#x6211;&#x4EEC;&#x843D;&#x5728;&#x67D0;&#x4E2A;&#x767E;&#x5206;&#x6BD4;&#x4EE5;&#x4E0B;&#x7684;&#x6240;&#x6709;&#x6587;&#x6863;&#x7684;&#x6700;&#x5C0F;&#x503C;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x5982;&#x679C; 50 &#x767E;&#x5206;&#x4F4D;&#x662F; 119ms&#xFF0C;&#x90A3;&#x4E48;&#x6709; 50% &#x7684;&#x6587;&#x6863;&#x6570;&#x503C;&#x90FD;&#x4E0D;&#x8D85;&#x8FC7; 119ms&#x3002; <code>percentile_ranks</code> &#x544A;&#x8BC9;&#x6211;&#x4EEC;&#x67D0;&#x4E2A;&#x5177;&#x4F53;&#x503C;&#x5C5E;&#x4E8E;&#x54EA;&#x4E2A;&#x767E;&#x5206;&#x4F4D;&#x3002;119ms &#x7684; <code>percentile_ranks</code> &#x662F;&#x5728; 50 &#x767E;&#x5206;&#x4F4D;&#x3002; &#x8FD9;&#x57FA;&#x672C;&#x662F;&#x4E2A;&#x53CC;&#x5411;&#x5173;&#x7CFB;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;</p>
<ul>
<li>50 &#x767E;&#x5206;&#x4F4D;&#x662F; 119ms&#x3002;</li>
<li>119ms &#x767E;&#x5206;&#x4F4D;&#x7B49;&#x7EA7;&#x662F; 50 &#x767E;&#x5206;&#x4F4D;&#x3002;</li>
</ul>
<p>&#x6240;&#x4EE5;&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x7F51;&#x7AD9;&#x5FC5;&#x987B;&#x7EF4;&#x6301;&#x7684;&#x670D;&#x52A1;&#x7B49;&#x7EA7;&#x534F;&#x8BAE;&#xFF08;SLA&#xFF09;&#x662F;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x4F4E;&#x4E8E; 210ms&#x3002;&#x7136;&#x540E;&#xFF0C;&#x5F00;&#x4E2A;&#x73A9;&#x7B11;&#xFF0C;&#x6211;&#x4EEC;&#x8001;&#x677F;&#x8B66;&#x544A;&#x6211;&#x4EEC;&#x5982;&#x679C;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x8D85;&#x8FC7; 800ms &#x4F1A;&#x628A;&#x6211;&#x5F00;&#x9664;&#x3002;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x7684;&#x662F;&#xFF0C;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x77E5;&#x9053;&#x6709;&#x591A;&#x5C11;&#x767E;&#x5206;&#x6BD4;&#x7684;&#x8BF7;&#x6C42;&#x53EF;&#x4EE5;&#x6EE1;&#x8DB3; SLA &#x7684;&#x8981;&#x6C42;&#xFF08;&#x5E76;&#x671F;&#x671B;&#x81F3;&#x5C11;&#x5728; 800ms &#x4EE5;&#x4E0B;&#xFF01;&#xFF09;&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x505A;&#x5230;&#x8FD9;&#x70B9;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5E94;&#x7528; <code>percentile_ranks</code> &#x5EA6;&#x91CF;&#x800C;&#x4E0D;&#x662F; <code>percentiles</code> &#x5EA6;&#x91CF;&#xFF1A;</p>
<pre><code class="lang-js">GET /website/logs/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;zones&quot;</span> : {
            <span class="hljs-string">&quot;terms&quot;</span> : {
                <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;zone&quot;</span>
            },
            <span class="hljs-string">&quot;aggs&quot;</span> : {
                <span class="hljs-string">&quot;load_times&quot;</span> : {
                    <span class="hljs-string">&quot;percentile_ranks&quot;</span> : {
                      <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;latency&quot;</span>,
                      <span class="hljs-string">&quot;values&quot;</span> : [<span class="hljs-number">210</span>, <span class="hljs-number">800</span>]      &lt;<span class="hljs-number">1</span>&gt;
                    }
                }
            }
        }
    }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>percentile_ranks</code> &#x5EA6;&#x91CF;&#x63A5;&#x53D7;&#x4E00;&#x7EC4;&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x5206;&#x7EA7;&#x7684;&#x6570;&#x503C;&#x3002;   </p>
</blockquote>
<p>&#x5728;&#x805A;&#x5408;&#x8FD0;&#x884C;&#x540E;&#xFF0C;&#x6211;&#x4EEC;&#x80FD;&#x5F97;&#x5230;&#x4E24;&#x4E2A;&#x503C;&#xFF1A;</p>
<pre><code class="lang-js"><span class="hljs-string">&quot;aggregations&quot;</span>: {
  <span class="hljs-string">&quot;zones&quot;</span>: {
     <span class="hljs-string">&quot;buckets&quot;</span>: [
        {
           <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;eu&quot;</span>,
           <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">6</span>,
           <span class="hljs-string">&quot;load_times&quot;</span>: {
              <span class="hljs-string">&quot;values&quot;</span>: {
                 <span class="hljs-string">&quot;210.0&quot;</span>: <span class="hljs-number">31.944444444444443</span>,
                 <span class="hljs-string">&quot;800.0&quot;</span>: <span class="hljs-number">100</span>
              }
           }
        },
        {
           <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;us&quot;</span>,
           <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">6</span>,
           <span class="hljs-string">&quot;load_times&quot;</span>: {
              <span class="hljs-string">&quot;values&quot;</span>: {
                 <span class="hljs-string">&quot;210.0&quot;</span>: <span class="hljs-number">100</span>,
                 <span class="hljs-string">&quot;800.0&quot;</span>: <span class="hljs-number">100</span>
              }
           }
        }
     ]
  }
}
</code></pre>
<p>&#x8FD9;&#x544A;&#x8BC9;&#x6211;&#x4EEC;&#x4E09;&#x70B9;&#x91CD;&#x8981;&#x7684;&#x4FE1;&#x606F;&#xFF1A;</p>
<ul>
<li>&#x5728;&#x6B27;&#x6D32;&#xFF08;EU&#xFF09;&#xFF0C;210ms &#x7684;&#x767E;&#x5206;&#x4F4D;&#x7B49;&#x7EA7;&#x662F; 31.94% &#x3002;</li>
<li>&#x5728;&#x7F8E;&#x56FD;&#xFF08;US&#xFF09;&#xFF0C;210ms &#x7684;&#x767E;&#x5206;&#x4F4D;&#x7B49;&#x7EA7;&#x662F; 100% &#x3002;</li>
<li>&#x5728;&#x6B27;&#x6D32;&#xFF08;EU&#xFF09;&#x548C;&#x7F8E;&#x56FD;&#xFF08;US&#xFF09;&#xFF0C;800ms &#x7684;&#x767E;&#x5206;&#x4F4D;&#x7B49;&#x7EA7;&#x662F; 100% &#x3002;</li>
</ul>
<p>&#x901A;&#x4FD7;&#x7684;&#x8BF4;&#xFF0C;&#x5728;&#x6B27;&#x6D32;&#x533A;&#x57DF;&#xFF08;EU&#xFF09;&#x53EA;&#x6709; 32% &#x7684;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x6EE1;&#x8DB3;&#x670D;&#x52A1;&#x7B49;&#x7EA7;&#x534F;&#x8BAE;&#xFF08;SLA&#xFF09;&#xFF0C;&#x800C;&#x7F8E;&#x56FD;&#x533A;&#x57DF;&#xFF08;US&#xFF09;&#x59CB;&#x7EC8;&#x6EE1;&#x8DB3;&#x670D;&#x52A1;&#x7B49;&#x7EA7;&#x534F;&#x8BAE;&#x7684;&#x3002;&#x4F46;&#x5E78;&#x8FD0;&#x7684;&#x662F;&#xFF0C;&#x4E24;&#x4E2A;&#x533A;&#x57DF;&#x6240;&#x6709;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x90FD;&#x5728; 800ms &#x4EE5;&#x4E0B;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x8FD8;&#x4E0D;&#x4F1A;&#x88AB;&#x7092;&#x9C7F;&#x9C7C;&#xFF08;&#x81F3;&#x5C11;&#x76EE;&#x524D;&#x4E0D;&#x4F1A;&#xFF09;&#x3002;</p>
<p><code>percentile_ranks</code> &#x5EA6;&#x91CF;&#x63D0;&#x4F9B;&#x4E86;&#x4E0E; <code>percentiles</code> &#x76F8;&#x540C;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x4F46;&#x5B83;&#x4EE5;&#x4E0D;&#x540C;&#x65B9;&#x5F0F;&#x5448;&#x73B0;&#xFF0C;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x5BF9;&#x67D0;&#x4E2A;&#x5177;&#x4F53;&#x6570;&#x503C;&#x66F4;&#x5173;&#x5FC3;&#xFF0C;&#x4F7F;&#x7528;&#x5B83;&#x4F1A;&#x66F4;&#x65B9;&#x4FBF;&#x3002;</p>
<p><strong>&#x5B66;&#x4F1A;&#x6743;&#x8861;</strong></p>
<p>&#x548C;&#x57FA;&#x6570;&#x4E00;&#x6837;&#xFF0C;&#x8BA1;&#x7B97;&#x767E;&#x5206;&#x4F4D;&#x9700;&#x8981;&#x4E00;&#x4E2A;&#x8FD1;&#x4F3C;&#x7B97;&#x6CD5;&#x3002; &#x6734;&#x7D20;&#x7684; &#x5B9E;&#x73B0;&#x4F1A;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x6240;&#x6709;&#x503C;&#x7684;&#x6709;&#x5E8F;&#x5217;&#x8868;&#xFF0C; &#x4F46;&#x5F53;&#x6211;&#x4EEC;&#x6709;&#x51E0;&#x5341;&#x4EBF;&#x6570;&#x636E;&#x5206;&#x5E03;&#x5728;&#x51E0;&#x5341;&#x4E2A;&#x8282;&#x70B9;&#x65F6;&#xFF0C;&#x8FD9;&#x51E0;&#x4E4E;&#x662F;&#x4E0D;&#x53EF;&#x80FD;&#x7684;&#x3002;</p>
<p>&#x53D6;&#x800C;&#x4EE3;&#x4E4B;&#x7684;&#x662F; <code>percentiles</code> &#x4F7F;&#x7528;&#x4E00;&#x4E2A; TDigest &#x7B97;&#x6CD5;&#xFF0C;&#xFF08;&#x7531; Ted Dunning &#x5728; <a href="https://github.com/tdunning/t-digest/blob/master/docs/t-digest-paper/histo.pdf" target="_blank">Computing Extremely Accurate Quantiles Using T-Digests</a> &#x91CC;&#x9762;&#x63D0;&#x51FA;&#x7684;&#xFF09;&#x3002; &#x4E0E; HyperLogLog &#x4E00;&#x6837;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x7406;&#x89E3;&#x5B8C;&#x6574;&#x7684;&#x6280;&#x672F;&#x7EC6;&#x8282;&#xFF0C;&#x4F46;&#x6709;&#x5FC5;&#x8981;&#x4E86;&#x89E3;&#x7B97;&#x6CD5;&#x7684;&#x7279;&#x6027;&#xFF1A;</p>
<ul>
<li>&#x767E;&#x5206;&#x4F4D;&#x7684;&#x51C6;&#x786E;&#x5EA6;&#x4E0E;&#x767E;&#x5206;&#x4F4D;&#x7684; <em>&#x6781;&#x7AEF;&#x7A0B;&#x5EA6;</em> &#x76F8;&#x5173;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x8BF4; 1 &#x6216; 99 &#x7684;&#x767E;&#x5206;&#x4F4D;&#x8981;&#x6BD4; 50 &#x767E;&#x5206;&#x4F4D;&#x8981;&#x51C6;&#x786E;&#x3002;&#x8FD9;&#x53EA;&#x662F;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x5185;&#x90E8;&#x673A;&#x5236;&#x7684;&#x4E00;&#x79CD;&#x7279;&#x6027;&#xFF0C;&#x4F46;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x7279;&#x6027;&#xFF0C;&#x56E0;&#x4E3A;&#x591A;&#x6570;&#x4EBA;&#x53EA;&#x5173;&#x5FC3;&#x6781;&#x7AEF;&#x7684;&#x767E;&#x5206;&#x4F4D;&#x3002;</li>
<li>&#x5BF9;&#x4E8E;&#x6570;&#x503C;&#x96C6;&#x5408;&#x8F83;&#x5C0F;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x767E;&#x5206;&#x4F4D;&#x975E;&#x5E38;&#x51C6;&#x786E;&#x3002;&#x5982;&#x679C;&#x6570;&#x636E;&#x96C6;&#x8DB3;&#x591F;&#x5C0F;&#xFF0C;&#x767E;&#x5206;&#x4F4D;&#x53EF;&#x80FD; 100% &#x7CBE;&#x786E;&#x3002;</li>
<li>&#x968F;&#x7740;&#x6876;&#x91CC;&#x6570;&#x503C;&#x7684;&#x589E;&#x957F;&#xFF0C;&#x7B97;&#x6CD5;&#x4F1A;&#x5F00;&#x59CB;&#x5BF9;&#x767E;&#x5206;&#x4F4D;&#x8FDB;&#x884C;&#x4F30;&#x7B97;&#x3002;&#x5B83;&#x80FD;&#x6709;&#x6548;&#x5728;&#x51C6;&#x786E;&#x5EA6;&#x548C;&#x5185;&#x5B58;&#x8282;&#x7701;&#x4E4B;&#x95F4;&#x505A;&#x51FA;&#x6743;&#x8861;&#x3002; &#x4E0D;&#x51C6;&#x786E;&#x7684;&#x7A0B;&#x5EA6;&#x6BD4;&#x8F83;&#x96BE;&#x4EE5;&#x603B;&#x7ED3;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x4F9D;&#x8D56;&#x4E8E; &#x805A;&#x5408;&#x65F6;&#x6570;&#x636E;&#x7684;&#x5206;&#x5E03;&#x4EE5;&#x53CA;&#x6570;&#x636E;&#x91CF;&#x7684;&#x5927;&#x5C0F;&#x3002;</li>
</ul>
<p>&#x4E0E; <code>cardinality</code> &#x7C7B;&#x4F3C;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4FEE;&#x6539;&#x53C2;&#x6570; <code>compression</code> &#x6765;&#x63A7;&#x5236;&#x5185;&#x5B58;&#x4E0E;&#x51C6;&#x786E;&#x5EA6;&#x4E4B;&#x95F4;&#x7684;&#x6BD4;&#x503C;&#x3002;</p>
<p>TDigest &#x7B97;&#x6CD5;&#x7528;&#x8282;&#x70B9;&#x8FD1;&#x4F3C;&#x8BA1;&#x7B97;&#x767E;&#x5206;&#x6BD4;&#xFF1A;&#x8282;&#x70B9;&#x8D8A;&#x591A;&#xFF0C;&#x51C6;&#x786E;&#x5EA6;&#x8D8A;&#x9AD8;&#xFF08;&#x540C;&#x65F6;&#x5185;&#x5B58;&#x6D88;&#x8017;&#x4E5F;&#x8D8A;&#x5927;&#xFF09;&#xFF0C;&#x8FD9;&#x90FD;&#x4E0E;&#x6570;&#x636E;&#x91CF;&#x6210;&#x6B63;&#x6BD4;&#x3002; <code>compression</code> &#x53C2;&#x6570;&#x9650;&#x5236;&#x8282;&#x70B9;&#x7684;&#x6700;&#x5927;&#x6570;&#x76EE;&#x4E3A; <code>20 * compression</code> &#x3002;</p>
<p>&#x56E0;&#x6B64;&#xFF0C;&#x901A;&#x8FC7;&#x589E;&#x52A0;&#x538B;&#x7F29;&#x6BD4;&#x503C;&#xFF0C;&#x53EF;&#x4EE5;&#x4EE5;&#x6D88;&#x8017;&#x66F4;&#x591A;&#x5185;&#x5B58;&#x4E3A;&#x4EE3;&#x4EF7;&#x63D0;&#x9AD8;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x51C6;&#x786E;&#x6027;&#x3002;&#x66F4;&#x5927;&#x7684;&#x538B;&#x7F29;&#x6BD4;&#x503C;&#x4F1A;&#x4F7F;&#x7B97;&#x6CD5;&#x8FD0;&#x884C;&#x66F4;&#x6162;&#xFF0C;&#x56E0;&#x4E3A;&#x5E95;&#x5C42;&#x7684;&#x6811;&#x5F62;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x7684;&#x5B58;&#x50A8;&#x4E5F;&#x4F1A;&#x589E;&#x957F;&#xFF0C;&#x4E5F;&#x5BFC;&#x81F4;&#x64CD;&#x4F5C;&#x7684;&#x4EE3;&#x4EF7;&#x66F4;&#x9AD8;&#x3002;&#x9ED8;&#x8BA4;&#x7684;&#x538B;&#x7F29;&#x6BD4;&#x503C;&#x662F; <code>100</code> &#x3002;</p>
<p>&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#x5927;&#x7EA6;&#x4F7F;&#x7528; 32 &#x5B57;&#x8282;&#x7684;&#x5185;&#x5B58;&#xFF0C;&#x6240;&#x4EE5;&#x5728;&#x6700;&#x574F;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x5927;&#x91CF;&#x6570;&#x636E;&#x6709;&#x5E8F;&#x5B58;&#x5165;&#xFF09;&#xFF0C;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x4F1A;&#x751F;&#x6210;&#x4E00;&#x4E2A;&#x5927;&#x5C0F;&#x7EA6;&#x4E3A; 64KB &#x7684; TDigest&#x3002; &#x5728;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;&#x6570;&#x636E;&#x4F1A;&#x66F4;&#x968F;&#x673A;&#xFF0C;&#x6240;&#x4EE5; TDigest &#x4F7F;&#x7528;&#x7684;&#x5185;&#x5B58;&#x4F1A;&#x66F4;&#x5C11;&#x3002;</p>
<h2 id="&#x901A;&#x8FC7;&#x805A;&#x5408;&#x53D1;&#x73B0;&#x5F02;&#x5E38;&#x6307;&#x6807;"><a name="&#x901A;&#x8FC7;&#x805A;&#x5408;&#x53D1;&#x73B0;&#x5F02;&#x5E38;&#x6307;&#x6807;" class="anchor-navigation-ex-anchor" href="#&#x901A;&#x8FC7;&#x805A;&#x5408;&#x53D1;&#x73B0;&#x5F02;&#x5E38;&#x6307;&#x6807;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x901A;&#x8FC7;&#x805A;&#x5408;&#x53D1;&#x73B0;&#x5F02;&#x5E38;&#x6307;&#x6807;</h2>
<p><code>significant_terms</code> &#xFF08;SigTerms&#xFF09;&#x805A;&#x5408; &#x4E0E;&#x5176;&#x4ED6;&#x805A;&#x5408;&#x90FD;&#x4E0D;&#x76F8;&#x540C;&#x3002; &#x76EE;&#x524D;&#x4E3A;&#x6B62;&#x6211;&#x4EEC;&#x770B;&#x5230;&#x7684;&#x6240;&#x6709;&#x805A;&#x5408;&#x5728;&#x672C;&#x8D28;&#x4E0A;&#x90FD;&#x662F;&#x7B80;&#x5355;&#x7684;&#x6570;&#x5B66;&#x8BA1;&#x7B97;&#x3002;&#x5C06;&#x4E0D;&#x540C;&#x8FD9;&#x4E9B;&#x6784;&#x9020;&#x5757;&#x76F8;&#x4E92;&#x7EC4;&#x5408;&#x5728;&#x4E00;&#x8D77;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x521B;&#x5EFA;&#x590D;&#x6742;&#x7684;&#x805A;&#x5408;&#x4EE5;&#x53CA;&#x6570;&#x636E;&#x62A5;&#x8868;&#x3002;</p>
<p><code>significant_terms</code> &#x6709;&#x7740;&#x4E0D;&#x540C;&#x7684;&#x5DE5;&#x4F5C;&#x673A;&#x5236;&#x3002;&#x5BF9;&#x6709;&#x4E9B;&#x4EBA;&#x6765;&#x8BF4;&#xFF0C;&#x5B83;&#x751A;&#x81F3;&#x770B;&#x8D77;&#x6765;&#x6709;&#x70B9;&#x50CF;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x3002;<code>significant_terms</code> &#x805A;&#x5408;&#x53EF;&#x4EE5;&#x5728;&#x4F60;&#x6570;&#x636E;&#x96C6;&#x4E2D;&#x627E;&#x5230;&#x4E00;&#x4E9B; <em>&#x5F02;&#x5E38;</em> &#x7684;&#x6307;&#x6807;&#x3002;</p>
<p>&#x5982;&#x4F55;&#x89E3;&#x91CA;&#x8FD9;&#x4E9B; <em>&#x4E0D;&#x5E38;&#x89C1;</em> &#x7684;&#x884C;&#x4E3A;&#xFF1F; &#x8FD9;&#x4E9B;&#x5F02;&#x5E38;&#x7684;&#x6570;&#x636E;&#x6307;&#x6807;&#x901A;&#x5E38;&#x6BD4;&#x6211;&#x4EEC;&#x9884;&#x4F30;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x6B21;&#x8981;&#x66F4;&#x9891;&#x7E41;&#xFF0C;&#x8FD9;&#x4E9B;&#x7EDF;&#x8BA1;&#x4E0A;&#x7684;&#x5F02;&#x5E38;&#x6307;&#x6807;&#x901A;&#x5E38;&#x8C61;&#x5F81;&#x7740;&#x6570;&#x636E;&#x91CC;&#x7684;&#x67D0;&#x4E9B;&#x6709;&#x8DA3;&#x4FE1;&#x606F;&#x3002;</p>
<p>&#x4F8B;&#x5982;&#xFF0C;&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x8D1F;&#x8D23;&#x68C0;&#x6D4B;&#x548C;&#x8DDF;&#x8E2A;&#x4FE1;&#x7528;&#x5361;&#x6B3A;&#x8BC8;&#xFF0C;&#x5BA2;&#x6237;&#x6253;&#x7535;&#x8BDD;&#x8FC7;&#x6765;&#x62B1;&#x6028;&#x4ED6;&#x4EEC;&#x4FE1;&#x7528;&#x5361;&#x51FA;&#x73B0;&#x5F02;&#x5E38;&#x4EA4;&#x6613;&#xFF0C;&#x5B83;&#x4EEC;&#x7684;&#x5E10;&#x6237;&#x5DF2;&#x7ECF;&#x88AB;&#x76D7;&#x7528;&#x3002;&#x8FD9;&#x4E9B;&#x4EA4;&#x6613;&#x4FE1;&#x606F;&#x53EA;&#x662F;&#x66F4;&#x4E25;&#x91CD;&#x95EE;&#x9898;&#x7684;&#x75C7;&#x72B6;&#x3002;&#x5728;&#x6700;&#x8FD1;&#x7684;&#x67D0;&#x4E9B;&#x5730;&#x533A;&#xFF0C;&#x4E00;&#x4E9B;&#x5546;&#x5BB6;&#x6709;&#x610F;&#x7684;&#x76D7;&#x53D6;&#x5BA2;&#x6237;&#x7684;&#x4FE1;&#x7528;&#x5361;&#x4FE1;&#x606F;&#xFF0C;&#x6216;&#x8005;&#x5B83;&#x4EEC;&#x81EA;&#x5DF1;&#x7684;&#x4FE1;&#x606F;&#x65E0;&#x610F;&#x4E2D;&#x4E5F;&#x88AB;&#x76D7;&#x53D6;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x7684;&#x4EFB;&#x52A1;&#x662F;&#x627E;&#x5230; <em>&#x5371;&#x5BB3;&#x7684;&#x5171;&#x540C;&#x70B9;</em> &#xFF0C;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x6709; 100 &#x4E2A;&#x5BA2;&#x6237;&#x62B1;&#x6028;&#x4EA4;&#x6613;&#x5F02;&#x5E38;&#xFF0C;&#x4ED6;&#x4EEC;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x90FD;&#x5C5E;&#x4E8E;&#x540C;&#x4E00;&#x4E2A;&#x5546;&#x6237;&#xFF0C;&#x800C;&#x8FD9;&#x5BB6;&#x5546;&#x6237;&#x6709;&#x53EF;&#x80FD;&#x5C31;&#x662F;&#x7F6A;&#x9B41;&#x7978;&#x9996;&#x3002;</p>
<p>&#x5F53;&#x7136;&#xFF0C;&#x8FD9;&#x91CC;&#x9762;&#x8FD8;&#x6709;&#x4E00;&#x4E9B;&#x7279;&#x4F8B;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x5F88;&#x591A;&#x5BA2;&#x6237;&#x5728;&#x5B83;&#x4EEC;&#x8FD1;&#x671F;&#x4EA4;&#x6613;&#x5386;&#x53F2;&#x8BB0;&#x5F55;&#x4E2D;&#x4F1A;&#x6709;&#x5F88;&#x5927;&#x7684;&#x5546;&#x6237;&#x5982;&#x4E9A;&#x9A6C;&#x900A;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5C06;&#x4E9A;&#x9A6C;&#x900A;&#x6392;&#x9664;&#x5728;&#x5916;&#xFF0C;&#x7136;&#x800C;&#xFF0C;&#x5728;&#x6700;&#x8FD1;&#x4E00;&#x4E9B;&#x6709;&#x95EE;&#x9898;&#x7684;&#x4FE1;&#x7528;&#x5361;&#x7684;&#x5546;&#x5BB6;&#x91CC;&#x9762;&#x4E5F;&#x6709;&#x4E9A;&#x9A6C;&#x900A;&#x3002;</p>
<p>&#x8FD9;&#x662F;&#x4E00;&#x4E2A; <em>&#x666E;&#x901A;&#x7684;&#x5171;&#x540C;</em> &#x5546;&#x6237;&#x7684;&#x4F8B;&#x5B50;&#x3002;&#x6BCF;&#x4E2A;&#x4EBA;&#x90FD;&#x5171;&#x4EAB;&#x8FD9;&#x4E2A;&#x5546;&#x6237;&#xFF0C;&#x65E0;&#x8BBA;&#x6709;&#x6CA1;&#x6709;&#x906D;&#x53D7;&#x5371;&#x5BB3;&#x3002;&#x6211;&#x4EEC;&#x5BF9;&#x5B83;&#x5E76;&#x4E0D;&#x611F;&#x5174;&#x8DA3;&#x3002;</p>
<p>&#x76F8;&#x53CD;&#xFF0C;&#x6211;&#x4EEC;&#x6709;&#x4E00;&#x4E9B;&#x5F88;&#x5C0F;&#x5546;&#x6237;&#x6BD4;&#x5982;&#x8857;&#x89D2;&#x7684;&#x4E00;&#x5BB6;&#x836F;&#x5E97;&#xFF0C;&#x5B83;&#x4EEC;&#x5C5E;&#x4E8E; <em>&#x666E;&#x901A;&#x4F46;&#x4E0D;&#x5BFB;&#x5E38;</em> &#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x53EA;&#x6709;&#x4E00;&#x4E24;&#x4E2A;&#x5BA2;&#x6237;&#x6709;&#x4EA4;&#x6613;&#x8BB0;&#x5F55;&#x3002;&#x6211;&#x4EEC;&#x540C;&#x6837;&#x53EF;&#x4EE5;&#x5C06;&#x8FD9;&#x4E9B;&#x5546;&#x6237;&#x6392;&#x9664;&#xFF0C;&#x56E0;&#x4E3A;&#x6240;&#x6709;&#x53D7;&#x5230;&#x5371;&#x5BB3;&#x7684;&#x4FE1;&#x7528;&#x5361;&#x90FD;&#x6CA1;&#x6709;&#x4E0E;&#x8FD9;&#x4E9B;&#x5546;&#x6237;&#x53D1;&#x751F;&#x8FC7;&#x4EA4;&#x6613;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x80AF;&#x5B9A;&#x5B83;&#x4EEC;&#x4E0D;&#x662F;&#x5B89;&#x5168;&#x6F0F;&#x6D1E;&#x7684;&#x8D23;&#x4EFB;&#x65B9;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x771F;&#x6B63;&#x60F3;&#x8981;&#x7684;&#x662F; <em>&#x4E0D;&#x666E;&#x901A;&#x7684;&#x5171;&#x540C;</em> &#x5546;&#x6237;&#x3002;&#x6240;&#x6709;&#x53D7;&#x5230;&#x5371;&#x5BB3;&#x7684;&#x4FE1;&#x7528;&#x5361;&#x90FD;&#x4E0E;&#x5B83;&#x4EEC;&#x53D1;&#x751F;&#x8FC7;&#x4EA4;&#x6613;&#xFF0C;&#x4F46;&#x662F;&#x5728;&#x672A;&#x53D7;&#x5371;&#x5BB3;&#x7684;&#x80CC;&#x666F;&#x566A;&#x58F0;&#x4E0B;&#xFF0C;&#x5B83;&#x4EEC;&#x5E76;&#x4E0D;&#x660E;&#x663E;&#x3002;&#x8FD9;&#x4E9B;&#x5546;&#x6237;&#x5C5E;&#x4E8E;&#x7EDF;&#x8BA1;&#x5F02;&#x5E38;&#xFF0C;&#x5B83;&#x4EEC;&#x6BD4;&#x5E94;&#x8BE5;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x7387;&#x8981;&#x9AD8;&#x3002;&#x8FD9;&#x4E9B;&#x4E0D;&#x666E;&#x901A;&#x7684;&#x5171;&#x540C;&#x5546;&#x6237;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x5C31;&#x662F;&#x9700;&#x8981;&#x8C03;&#x67E5;&#x7684;&#x3002;</p>
<p><code>significant_terms</code> &#x805A;&#x5408;&#x5C31;&#x662F;&#x505A;&#x8FD9;&#x4E9B;&#x4E8B;&#x60C5;&#x3002;&#x5B83;&#x5206;&#x6790;&#x7EDF;&#x8BA1;&#x4F60;&#x7684;&#x6570;&#x636E;&#x5E76;&#x901A;&#x8FC7;&#x5BF9;&#x6BD4;&#x6B63;&#x5E38;&#x6570;&#x636E;&#x627E;&#x5230;&#x53EF;&#x80FD;&#x6709;&#x5F02;&#x5E38;&#x9891;&#x6B21;&#x7684;&#x6307;&#x6807;&#x3002;</p>
<p>&#x66B4;&#x9732;&#x7684;&#x5F02;&#x5E38;&#x6307;&#x6807; <em>&#x4EE3;&#x8868;&#x4EC0;&#x4E48;</em> &#x4F9D;&#x8D56;&#x7684;&#x4F60;&#x6570;&#x636E;&#x3002;&#x5BF9;&#x4E8E;&#x4FE1;&#x7528;&#x5361;&#x6570;&#x636E;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x4F1A;&#x60F3;&#x627E;&#x51FA;&#x4FE1;&#x7528;&#x5361;&#x6B3A;&#x8BC8;&#x3002; &#x5BF9;&#x4E8E;&#x7535;&#x5546;&#x6570;&#x636E;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x4F1A;&#x60F3;&#x627E;&#x51FA;&#x672A;&#x88AB;&#x8BC6;&#x522B;&#x7684;&#x4EBA;&#x53E3;&#x4FE1;&#x606F;&#xFF0C;&#x4ECE;&#x800C;&#x8FDB;&#x884C;&#x66F4;&#x9AD8;&#x6548;&#x7684;&#x5E02;&#x573A;&#x63A8;&#x5E7F;&#x3002; &#x5982;&#x679C;&#x6211;&#x4EEC;&#x6B63;&#x5728;&#x5206;&#x6790;&#x65E5;&#x5FD7;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x4F1A;&#x53D1;&#x73B0;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#x4F1A;&#x629B;&#x51FA;&#x6BD4;&#x5B83;&#x672C;&#x5E94;&#x629B;&#x51FA;&#x7684;&#x66F4;&#x591A;&#x5F02;&#x5E38;&#x3002; <code>significant_terms</code> &#x7684;&#x5E94;&#x7528;&#x8FD8;&#x8FDC;&#x4E0D;&#x6B62;&#x8FD9;&#x4E9B;&#x3002;</p>
<h3 id="significantterms&#x6F14;&#x793A;"><a name="significantterms&#x6F14;&#x793A;" class="anchor-navigation-ex-anchor" href="#significantterms&#x6F14;&#x793A;"><i class="fa fa-link" aria-hidden="true"></i></a>significant_terms &#x6F14;&#x793A;  </h3>
<p>&#x56E0;&#x4E3A; <code>significant_terms</code> &#x805A;&#x5408; &#x662F;&#x901A;&#x8FC7;&#x5206;&#x6790;&#x7EDF;&#x8BA1;&#x4FE1;&#x606F;&#x6765;&#x5DE5;&#x4F5C;&#x7684;&#xFF0C; &#x9700;&#x8981;&#x4E3A;&#x6570;&#x636E;&#x8BBE;&#x7F6E;&#x4E00;&#x4E2A;&#x9600;&#x503C;&#x8BA9;&#x5B83;&#x4EEC;&#x66F4;&#x6709;&#x6548;&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#x65E0;&#x6CD5;&#x901A;&#x8FC7;&#x53EA;&#x7D22;&#x5F15;&#x5C11;&#x91CF;&#x793A;&#x4F8B;&#x6570;&#x636E;&#x6765;&#x5C55;&#x793A;&#x5B83;&#x3002;</p>
<p>&#x6B63;&#x56E0;&#x5982;&#x6B64;&#xFF0C;&#x6211;&#x4EEC;&#x51C6;&#x5907;&#x4E86;&#x4E00;&#x4E2A;&#x5927;&#x7EA6; 8000 &#x4E2A;&#x6587;&#x6863;&#x7684;&#x6570;&#x636E;&#x96C6;&#xFF0C;&#x5E76;&#x5C06;&#x5B83;&#x7684;&#x5FEB;&#x7167;&#x4FDD;&#x5B58;&#x5728;&#x4E00;&#x4E2A;&#x516C;&#x5171;&#x6F14;&#x793A;&#x5E93;&#x4E2D;&#x3002;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x6B65;&#x9AA4;&#x5728;&#x96C6;&#x7FA4;&#x4E2D;&#x8FD8;&#x539F;&#x8FD9;&#x4E9B;&#x6570;&#x636E;&#xFF1A;</p>
<ol>
<li><p>&#x5728; <code>elasticsearch.yml</code> &#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x589E;&#x52A0;&#x4EE5;&#x4E0B;&#x914D;&#x7F6E;&#xFF0C; &#x4EE5;&#x4FBF;&#x5C06;&#x6F14;&#x793A;&#x5E93;&#x52A0;&#x5165;&#x5230;&#x767D;&#x540D;&#x5355;&#x4E2D;&#xFF1A;</p>
<pre><code class="lang-js">repositories.url.allowed_urls: [<span class="hljs-string">&quot;http://download.elastic.co/*&quot;</span>]
</code></pre>
</li>
<li><p>&#x91CD;&#x542F; Elasticsearch&#x3002;</p>
</li>
<li><p>&#x8FD0;&#x884C;&#x4EE5;&#x4E0B;&#x5FEB;&#x7167;&#x547D;&#x4EE4;&#x3002;&#xFF08;&#x66F4;&#x591A;&#x4F7F;&#x7528;&#x5FEB;&#x7167;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x53C2;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/backing-up-your-cluster.html" target="_blank">&#x5907;&#x4EFD;&#x96C6;&#x7FA4;&#xFF08;Backing Up Your Cluster&#xFF09;</a>&#xFF09;&#x3002;</p>
<pre><code class="lang-js">PUT /_snapshot/sigterms                          &lt;<span class="hljs-number">1</span>&gt;
{
    <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;url&quot;</span>,
    <span class="hljs-string">&quot;settings&quot;</span>: {
        <span class="hljs-string">&quot;url&quot;</span>: <span class="hljs-string">&quot;http://download.elastic.co/definitiveguide/sigterms_demo/&quot;</span>
    }
}

GET /_snapshot/sigterms/_all                     &lt;<span class="hljs-number">2</span>&gt;

POST /_snapshot/sigterms/snapshot/_restore       &lt;<span class="hljs-number">3</span>&gt; 

GET /mlmovies,mlratings/_recovery                &lt;<span class="hljs-number">4</span>&gt;
</code></pre>
</li>
</ol>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6CE8;&#x518C;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x53EA;&#x8BFB;&#x5730;&#x5740;&#x5E93;&#xFF0C;&#x5E76;&#x6307;&#x5411;&#x6F14;&#x793A;&#x5FEB;&#x7167;&#x3002;     </p>
<p> <img src="assets/2.png" alt="img"> &#xFF08;&#x53EF;&#x9009;&#xFF09;&#x68C0;&#x67E5;&#x5E93;&#x5185;&#x5173;&#x4E8E;&#x5FEB;&#x7167;&#x7684;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x3002;  </p>
<p> <img src="assets/3.png" alt="img">  &#x5F00;&#x59CB;&#x8FD8;&#x539F;&#x8FC7;&#x7A0B;&#x3002;&#x4F1A;&#x5728;&#x96C6;&#x7FA4;&#x4E2D;&#x521B;&#x5EFA;&#x4E24;&#x4E2A;&#x7D22;&#x5F15;&#xFF1A; <code>mlmovies</code> &#x548C; <code>mlratings</code> &#x3002;   </p>
<p> <img src="assets/4.png" alt="img">  &#xFF08;&#x53EF;&#x9009;&#xFF09;&#x4F7F;&#x7528; Recovery API &#x76D1;&#x63A7;&#x8FD8;&#x539F;&#x8FC7;&#x7A0B;&#x3002;       </p>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;"> &#x6570;&#x636E;&#x96C6;&#x6709; 50 MB &#x4F1A;&#x9700;&#x8981;&#x4E00;&#x4E9B;&#x65F6;&#x95F4;&#x4E0B;&#x8F7D;&#x3002;</p>
</blockquote>
<p>&#x5728;&#x672C;&#x6F14;&#x793A;&#x4E2D;&#xFF0C;&#x4F1A;&#x770B;&#x770B; MovieLens &#x91CC;&#x9762;&#x7528;&#x6237;&#x5BF9;&#x7535;&#x5F71;&#x7684;&#x8BC4;&#x5206;&#x3002;&#x5728; MovieLens &#x91CC;&#xFF0C;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x63A8;&#x8350;&#x7535;&#x5F71;&#x5E76;&#x8BC4;&#x5206;&#xFF0C;&#x8FD9;&#x6837;&#x5176;&#x4ED6;&#x7528;&#x6237;&#x4E5F;&#x53EF;&#x4EE5;&#x627E;&#x5230;&#x65B0;&#x7684;&#x7535;&#x5F71;&#x3002; &#x4E3A;&#x4E86;&#x6F14;&#x793A;&#xFF0C;&#x4F1A;&#x57FA;&#x4E8E;&#x8F93;&#x5165;&#x7684;&#x7535;&#x5F71;&#x91C7;&#x7528; <code>significant_terms</code> &#x5BF9;&#x7535;&#x5F71;&#x8FDB;&#x884C;&#x63A8;&#x8350;&#x3002;</p>
<p>&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x770B;&#x793A;&#x4F8B;&#x4E2D;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x611F;&#x53D7;&#x4E00;&#x4E0B;&#x8981;&#x5904;&#x7406;&#x7684;&#x5185;&#x5BB9;&#x3002;&#x672C;&#x6570;&#x636E;&#x96C6;&#x6709;&#x4E24;&#x4E2A;&#x7D22;&#x5F15;&#xFF0C; <code>mlmovies</code> &#x548C; <code>mlratings</code> &#x3002;&#x9996;&#x5148;&#x67E5;&#x770B; <code>mlmovies</code> &#xFF1A;</p>
<pre><code class="lang-js">GET mlmovies/_search                             &lt;<span class="hljs-number">1</span>&gt;

{
   <span class="hljs-string">&quot;took&quot;</span>: <span class="hljs-number">4</span>,
   <span class="hljs-string">&quot;timed_out&quot;</span>: <span class="hljs-literal">false</span>,
   <span class="hljs-string">&quot;_shards&quot;</span>: {...},
   <span class="hljs-string">&quot;hits&quot;</span>: {
      <span class="hljs-string">&quot;total&quot;</span>: <span class="hljs-number">10681</span>,
      <span class="hljs-string">&quot;max_score&quot;</span>: <span class="hljs-number">1</span>,
      <span class="hljs-string">&quot;hits&quot;</span>: [
         {
            <span class="hljs-string">&quot;_index&quot;</span>: <span class="hljs-string">&quot;mlmovies&quot;</span>,
            <span class="hljs-string">&quot;_type&quot;</span>: <span class="hljs-string">&quot;mlmovie&quot;</span>,
            <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-string">&quot;2&quot;</span>,
            <span class="hljs-string">&quot;_score&quot;</span>: <span class="hljs-number">1</span>,
            <span class="hljs-string">&quot;_source&quot;</span>: {
               <span class="hljs-string">&quot;offset&quot;</span>: <span class="hljs-number">2</span>,
               <span class="hljs-string">&quot;bytes&quot;</span>: <span class="hljs-number">34</span>,
               <span class="hljs-string">&quot;title&quot;</span>: <span class="hljs-string">&quot;Jumanji (1995)&quot;</span>
            }
         },
         ....
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6267;&#x884C;&#x4E00;&#x4E2A;&#x4E0D;&#x5E26;&#x67E5;&#x8BE2;&#x6761;&#x4EF6;&#x7684;&#x641C;&#x7D22;&#xFF0C;&#x4EE5;&#x4FBF;&#x80FD;&#x770B;&#x5230;&#x4E00;&#x7EC4;&#x968F;&#x673A;&#x6F14;&#x793A;&#x6587;&#x6863;&#x3002; </p>
</blockquote>
<p><code>mlmovies</code> &#x91CC;&#x7684;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x8868;&#x793A;&#x4E00;&#x4E2A;&#x7535;&#x5F71;&#xFF0C;&#x6570;&#x636E;&#x6709;&#x4E24;&#x4E2A;&#x91CD;&#x8981;&#x5B57;&#x6BB5;&#xFF1A;&#x7535;&#x5F71;ID <code>_id</code> &#x548C;&#x7535;&#x5F71;&#x540D; <code>title</code> &#x3002;&#x53EF;&#x4EE5;&#x5FFD;&#x7565;<code>offset</code> &#x548C; <code>bytes</code> &#x3002;&#x5B83;&#x4EEC;&#x662F;&#x4ECE;&#x539F;&#x59CB; CSV &#x6587;&#x4EF6;&#x62BD;&#x53D6;&#x6570;&#x636E;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#x4EA7;&#x751F;&#x7684;&#x4E2D;&#x95F4;&#x5C5E;&#x6027;&#x3002;&#x6570;&#x636E;&#x96C6;&#x4E2D;&#x6709; 10&#xFF0C;681 &#x90E8;&#x5F71;&#x7247;&#x3002;</p>
<p>&#x73B0;&#x5728;&#x6765;&#x770B;&#x770B; <code>mlratings</code> &#xFF1A;</p>
<pre><code class="lang-js">GET mlratings/_search

{
   <span class="hljs-string">&quot;took&quot;</span>: <span class="hljs-number">3</span>,
   <span class="hljs-string">&quot;timed_out&quot;</span>: <span class="hljs-literal">false</span>,
   <span class="hljs-string">&quot;_shards&quot;</span>: {...},
   <span class="hljs-string">&quot;hits&quot;</span>: {
      <span class="hljs-string">&quot;total&quot;</span>: <span class="hljs-number">69796</span>,
      <span class="hljs-string">&quot;max_score&quot;</span>: <span class="hljs-number">1</span>,
      <span class="hljs-string">&quot;hits&quot;</span>: [
         {
            <span class="hljs-string">&quot;_index&quot;</span>: <span class="hljs-string">&quot;mlratings&quot;</span>,
            <span class="hljs-string">&quot;_type&quot;</span>: <span class="hljs-string">&quot;mlrating&quot;</span>,
            <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-string">&quot;00IC-2jDQFiQkpD6vhbFYA&quot;</span>,
            <span class="hljs-string">&quot;_score&quot;</span>: <span class="hljs-number">1</span>,
            <span class="hljs-string">&quot;_source&quot;</span>: {
               <span class="hljs-string">&quot;offset&quot;</span>: <span class="hljs-number">1</span>,
               <span class="hljs-string">&quot;bytes&quot;</span>: <span class="hljs-number">108</span>,
               <span class="hljs-string">&quot;movie&quot;</span>: [<span class="hljs-number">122</span>,<span class="hljs-number">185</span>,<span class="hljs-number">231</span>,<span class="hljs-number">292</span>,
                  <span class="hljs-number">316</span>,<span class="hljs-number">329</span>,<span class="hljs-number">355</span>,<span class="hljs-number">356</span>,<span class="hljs-number">362</span>,<span class="hljs-number">364</span>,<span class="hljs-number">370</span>,<span class="hljs-number">377</span>,<span class="hljs-number">420</span>,
                  <span class="hljs-number">466</span>,<span class="hljs-number">480</span>,<span class="hljs-number">520</span>,<span class="hljs-number">539</span>,<span class="hljs-number">586</span>,<span class="hljs-number">588</span>,<span class="hljs-number">589</span>,<span class="hljs-number">594</span>,<span class="hljs-number">616</span>
               ],
               <span class="hljs-string">&quot;user&quot;</span>: <span class="hljs-number">1</span>
            }
         },
         ...
</code></pre>
<p>&#x8FD9;&#x91CC;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6BCF;&#x4E2A;&#x7528;&#x6237;&#x7684;&#x63A8;&#x8350;&#x4FE1;&#x606F;&#x3002;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x8868;&#x793A;&#x4E00;&#x4E2A;&#x7528;&#x6237;&#xFF0C;&#x7528; ID &#x5B57;&#x6BB5; <code>user</code> &#x6765;&#x8868;&#x793A;&#xFF0C; <code>movie</code> &#x5B57;&#x6BB5;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x7528;&#x6237;&#x89C2;&#x770B;&#x548C;&#x63A8;&#x8350;&#x8FC7;&#x7684;&#x5F71;&#x7247;&#x5217;&#x8868;&#x3002;</p>
<p><strong>&#x57FA;&#x4E8E;&#x6D41;&#x884C;&#x7A0B;&#x5EA6;&#x63A8;&#x8350;&#xFF08;Recommending Based on Popularity&#xFF09;</strong></p>
<p>&#x53EF;&#x4EE5;&#x91C7;&#x53D6;&#x7684;&#x9996;&#x4E2A;&#x7B56;&#x7565;&#x5C31;&#x662F;&#x57FA;&#x4E8E;&#x6D41;&#x884C;&#x7A0B;&#x5EA6;&#x5411;&#x7528;&#x6237;&#x63A8;&#x8350;&#x5F71;&#x7247;&#x3002; &#x5BF9;&#x4E8E;&#x67D0;&#x90E8;&#x5F71;&#x7247;&#xFF0C;&#x627E;&#x5230;&#x6240;&#x6709;&#x63A8;&#x8350;&#x8FC7;&#x5B83;&#x7684;&#x7528;&#x6237;&#xFF0C;&#x7136;&#x540E;&#x5C06;&#x4ED6;&#x4EEC;&#x7684;&#x63A8;&#x8350;&#x8FDB;&#x884C;&#x805A;&#x5408;&#x5E76;&#x83B7;&#x5F97;&#x63A8;&#x8350;&#x4E2D;&#x6700;&#x6D41;&#x884C;&#x7684;&#x4E94;&#x90E8;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5F88;&#x5BB9;&#x6613;&#x7684;&#x901A;&#x8FC7;&#x4E00;&#x4E2A; <code>terms</code> &#x805A;&#x5408; &#x4EE5;&#x53CA;&#x4E00;&#x4E9B;&#x8FC7;&#x6EE4;&#x6765;&#x8868;&#x793A;&#x5B83;&#xFF0C;&#x770B;&#x770B; <em>Talladega Nights&#xFF08;&#x5854;&#x62C9;&#x8FEA;&#x52A0;&#x4E4B;&#x591C;&#xFF09;</em>&#x8FD9;&#x90E8;&#x5F71;&#x7247;&#xFF0C;&#x5B83;&#x662F; Will Ferrell &#x4E3B;&#x6F14;&#x7684;&#x4E00;&#x90E8;&#x5173;&#x4E8E;&#x5168;&#x56FD;&#x8FD0;&#x52A8;&#x6C7D;&#x8F66;&#x7ADE;&#x8D5B;&#xFF08;NASCAR racing&#xFF09;&#x7684;&#x559C;&#x5267;&#x3002; &#x5728;&#x7406;&#x60F3;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x63A8;&#x8350;&#x5E94;&#x8BE5;&#x627E;&#x5230;&#x7C7B;&#x4F3C;&#x98CE;&#x683C;&#x7684;&#x559C;&#x5267;&#xFF08;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x4E5F;&#x662F; Will Ferrell &#x4E3B;&#x6F14;&#x7684;&#xFF09;&#x3002;</p>
<p>&#x9996;&#x5148;&#x9700;&#x8981;&#x627E;&#x5230;&#x5F71;&#x7247; <em>Talladega Nights</em> &#x7684; ID&#xFF1A;</p>
<pre><code class="lang-js">GET mlmovies/_search
{
  <span class="hljs-string">&quot;query&quot;</span>: {
    <span class="hljs-string">&quot;match&quot;</span>: {
      <span class="hljs-string">&quot;title&quot;</span>: <span class="hljs-string">&quot;Talladega Nights&quot;</span>
    }
  }
}

    ...
    <span class="hljs-string">&quot;hits&quot;</span>: [
     {
        <span class="hljs-string">&quot;_index&quot;</span>: <span class="hljs-string">&quot;mlmovies&quot;</span>,
        <span class="hljs-string">&quot;_type&quot;</span>: <span class="hljs-string">&quot;mlmovie&quot;</span>,
        <span class="hljs-string">&quot;_id&quot;</span>: <span class="hljs-string">&quot;46970&quot;</span>,                                          <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
        &quot;_score&quot;: 3.658795,
        &quot;_source&quot;: {
           &quot;offset&quot;: 9575,
           &quot;bytes&quot;: 74,
           &quot;title&quot;: &quot;Talladega Nights: The Ballad of Ricky Bobby (2006)&quot;
        }
     },
    ...
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <em>Talladega Nights</em> &#x7684; ID &#x662F; <code>46970</code> &#x3002;  </p>
</blockquote>
<p>&#x6709;&#x4E86; ID&#xFF0C;&#x53EF;&#x4EE5;&#x8FC7;&#x6EE4;&#x8BC4;&#x5206;&#xFF0C;&#x518D;&#x5E94;&#x7528; <code>terms</code> &#x805A;&#x5408;&#x4ECE;&#x559C;&#x6B22; <em>Talladega Nights</em> &#x7684;&#x7528;&#x6237;&#x4E2D;&#x627E;&#x5230;&#x6700;&#x6D41;&#x884C;&#x7684;&#x5F71;&#x7247;&#xFF1A;</p>
<pre><code class="lang-js">GET mlratings/_search
{
  <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,               &lt;1&gt;
  &quot;query&quot;: {
    &quot;filtered&quot;: {
      &quot;filter&quot;: {
        &quot;term&quot;: {
          &quot;movie&quot;: 46970    &lt;2&gt;
        }
      }
    }
  },
  &quot;aggs&quot;: {
    &quot;most_popular&quot;: {
      &quot;terms&quot;: {
        &quot;field&quot;: &quot;movie&quot;,    &lt;3&gt;
        &quot;size&quot;: 6
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD9;&#x6B21;&#x67E5;&#x8BE2; <code>mlratings</code> &#xFF0C; &#x5C06;&#x7ED3;&#x679C;&#x5185;&#x5BB9; <code>&#x5927;&#x5C0F;&#x8BBE;&#x7F6E;</code> &#x4E3A; 0 &#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x53EA;&#x5BF9;&#x805A;&#x5408;&#x7684;&#x7ED3;&#x679C;&#x611F;&#x5174;&#x8DA3;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x5BF9;&#x5F71;&#x7247; <em>Talladega Nights</em> &#x7684; ID &#x4F7F;&#x7528;&#x8FC7;&#x6EE4;&#x5668;&#x3002;      </p>
<p> <img src="assets/3.png" alt="img">  &#x6700;&#x540E;&#xFF0C;&#x4F7F;&#x7528; <code>terms</code> &#x6876;&#x627E;&#x5230;&#x6700;&#x6D41;&#x884C;&#x7684;&#x5F71;&#x7247;&#x3002;          </p>
</blockquote>
<p>&#x5728; <code>mlratings</code> &#x7D22;&#x5F15;&#x4E0B;&#x641C;&#x7D22;&#xFF0C;&#x7136;&#x540E;&#x5BF9;&#x5F71;&#x7247; <em>Talladega Nights</em> &#x7684; ID &#x4F7F;&#x7528;&#x8FC7;&#x6EE4;&#x5668;&#x3002;&#x7531;&#x4E8E;&#x805A;&#x5408;&#x662F;&#x9488;&#x5BF9;&#x67E5;&#x8BE2;&#x8303;&#x56F4;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#x7684;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x6709;&#x6548;&#x7684;&#x8FC7;&#x6EE4;&#x805A;&#x5408;&#x7ED3;&#x679C;&#x4ECE;&#x800C;&#x5F97;&#x5230;&#x90A3;&#x4E9B;&#x53EA;&#x63A8;&#x8350; <em>Talladega Nights</em> &#x7684;&#x7528;&#x6237;&#x3002; &#x6700;&#x540E;&#xFF0C;&#x6267;&#x884C; <code>terms</code>&#x805A;&#x5408;&#x5F97;&#x5230;&#x6700;&#x6D41;&#x884C;&#x7684;&#x5F71;&#x7247;&#x3002; &#x8BF7;&#x6C42;&#x6392;&#x540D;&#x6700;&#x524D;&#x7684;&#x516D;&#x4E2A;&#x7ED3;&#x679C;&#xFF0C;&#x56E0;&#x4E3A; <em>Talladega Nights</em> &#x672C;&#x8EAB;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x5C31;&#x662F;&#x5176;&#x4E2D;&#x4E00;&#x4E2A;&#x7ED3;&#x679C;&#xFF08;&#x5E76;&#x4E0D;&#x60F3;&#x91CD;&#x590D;&#x63A8;&#x8350;&#x5B83;&#xFF09;&#x3002;</p>
<p>&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x5C31;&#x50CF;&#x8FD9;&#x6837;&#xFF1A;</p>
<pre><code class="lang-js">{
...
   <span class="hljs-string">&quot;aggregations&quot;</span>: {
      <span class="hljs-string">&quot;most_popular&quot;</span>: {
         <span class="hljs-string">&quot;buckets&quot;</span>: [
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-number">46970</span>,
               <span class="hljs-string">&quot;key_as_string&quot;</span>: <span class="hljs-string">&quot;46970&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">271</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-number">2571</span>,
               <span class="hljs-string">&quot;key_as_string&quot;</span>: <span class="hljs-string">&quot;2571&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">197</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-number">318</span>,
               <span class="hljs-string">&quot;key_as_string&quot;</span>: <span class="hljs-string">&quot;318&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">196</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-number">296</span>,
               <span class="hljs-string">&quot;key_as_string&quot;</span>: <span class="hljs-string">&quot;296&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">183</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-number">2959</span>,
               <span class="hljs-string">&quot;key_as_string&quot;</span>: <span class="hljs-string">&quot;2959&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">183</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-number">260</span>,
               <span class="hljs-string">&quot;key_as_string&quot;</span>: <span class="hljs-string">&quot;260&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">90</span>
            }
         ]
      }
   }
...
</code></pre>
<p>&#x901A;&#x8FC7;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x8FC7;&#x6EE4;&#x67E5;&#x8BE2;&#xFF0C;&#x5C06;&#x5F97;&#x5230;&#x7684;&#x7ED3;&#x679C;&#x8F6C;&#x6362;&#x6210;&#x539F;&#x59CB;&#x5F71;&#x7247;&#x540D;&#xFF1A;</p>
<pre><code class="lang-js">GET mlmovies/_search
{
  <span class="hljs-string">&quot;query&quot;</span>: {
    <span class="hljs-string">&quot;filtered&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;ids&quot;</span>: {
          <span class="hljs-string">&quot;values&quot;</span>: [<span class="hljs-number">2571</span>,<span class="hljs-number">318</span>,<span class="hljs-number">296</span>,<span class="hljs-number">2959</span>,<span class="hljs-number">260</span>]
        }
      }
    }
  }
}
</code></pre>
<p>&#x6700;&#x540E;&#x5F97;&#x5230;&#x4EE5;&#x4E0B;&#x5217;&#x8868;&#xFF1A;</p>
<ol>
<li>Matrix, The&#xFF08;&#x9ED1;&#x5BA2;&#x5E1D;&#x56FD;&#xFF09;</li>
<li>Shawshank Redemption&#xFF08;&#x8096;&#x7533;&#x514B;&#x7684;&#x6551;&#x8D4E;&#xFF09;</li>
<li>Pulp Fiction&#xFF08;&#x4F4E;&#x4FD7;&#x5C0F;&#x8BF4;&#xFF09;</li>
<li>Fight Club&#xFF08;&#x640F;&#x51FB;&#x4FF1;&#x4E50;&#x90E8;&#xFF09;</li>
<li>Star Wars Episode IV: A New Hope&#xFF08;&#x661F;&#x7403;&#x5927;&#x6218; IV&#xFF1A;&#x66D9;&#x5149;&#x4E4D;&#x73B0;&#xFF09;</li>
</ol>
<p>&#x597D;&#x5427;&#xFF0C;&#x8FD9;&#x80AF;&#x5B9A;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x5217;&#x8868;&#xFF01;&#x6211;&#x559C;&#x6B22;&#x6240;&#x6709;&#x8FD9;&#x4E9B;&#x5F71;&#x7247;&#x3002;&#x4F46;&#x95EE;&#x9898;&#x662F;&#xFF1A;&#x51E0;&#x4E4E; <em>&#x6BCF;&#x4E2A;&#x4EBA;</em> &#x90FD;&#x559C;&#x6B22;&#x5B83;&#x4EEC;&#x3002;&#x8FD9;&#x4E9B;&#x5F71;&#x7247;&#x672C;&#x6765;&#x5C31;&#x53D7;&#x5927;&#x4F17;&#x6B22;&#x8FCE;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#x5B83;&#x4EEC;&#x51FA;&#x73B0;&#x5728;&#x6BCF;&#x4E2A;&#x4EBA;&#x7684;&#x63A8;&#x8350;&#x4E2D;&#x90FD;&#x4F1A;&#x53D7;&#x6B22;&#x8FCE;&#x3002; &#x8FD9;&#x5176;&#x5B9E;&#x662F;&#x4E00;&#x4E2A;&#x6D41;&#x884C;&#x5F71;&#x7247;&#x7684;&#x63A8;&#x8350;&#x5217;&#x8868;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x548C;&#x5F71;&#x7247; <em>Talladega Nights</em> &#x76F8;&#x5173;&#x7684;&#x63A8;&#x8350;&#x3002;</p>
<p>&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x518D;&#x6B21;&#x8FD0;&#x884C;&#x805A;&#x5408;&#x8F7B;&#x677E;&#x9A8C;&#x8BC1;&#xFF0C;&#x800C;&#x4E0D;&#x9700;&#x8981;&#x5BF9;&#x5F71;&#x7247; <em>Talladega Nights</em> &#x8FDB;&#x884C;&#x8FC7;&#x6EE4;&#x3002;&#x4F1A;&#x63D0;&#x4F9B;&#x6700;&#x6D41;&#x884C;&#x5F71;&#x7247;&#x7684;&#x524D;&#x4E94;&#x540D;&#x5217;&#x8868;&#xFF1A;</p>
<pre><code class="lang-js">GET mlratings/_search
{
  <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
  <span class="hljs-string">&quot;aggs&quot;</span>: {
    <span class="hljs-string">&quot;most_popular&quot;</span>: {
      <span class="hljs-string">&quot;terms&quot;</span>: {
        <span class="hljs-string">&quot;field&quot;</span>: <span class="hljs-string">&quot;movie&quot;</span>,
        <span class="hljs-string">&quot;size&quot;</span>: <span class="hljs-number">5</span>
      }
    }
  }
}
</code></pre>
<p>&#x8FD4;&#x56DE;&#x5217;&#x8868;&#x975E;&#x5E38;&#x76F8;&#x4F3C;&#xFF1A;</p>
<ol>
<li>Shawshank Redemption&#xFF08;&#x8096;&#x7533;&#x514B;&#x7684;&#x6551;&#x8D4E;&#xFF09;</li>
<li>Silence of the Lambs, The&#xFF08;&#x6C89;&#x9ED8;&#x7684;&#x7F94;&#x7F8A;&#xFF09;</li>
<li>Pulp Fiction&#xFF08;&#x4F4E;&#x4FD7;&#x5C0F;&#x8BF4;&#xFF09;</li>
<li>Forrest Gump&#xFF08;&#x963F;&#x7518;&#x6B63;&#x4F20;&#xFF09;</li>
<li>Star Wars Episode IV: A New Hope&#xFF08;&#x661F;&#x7403;&#x5927;&#x6218; IV&#xFF1A;&#x66D9;&#x5149;&#x4E4D;&#x73B0;&#xFF09;</li>
</ol>
<p>&#x663E;&#x7136;&#xFF0C;&#x53EA;&#x662F;&#x68C0;&#x67E5;&#x6700;&#x6D41;&#x884C;&#x7684;&#x5F71;&#x7247;&#x662F;&#x4E0D;&#x80FD;&#x8DB3;&#x4EE5;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x826F;&#x597D;&#x800C;&#x53C8;&#x5177;&#x9274;&#x522B;&#x80FD;&#x529B;&#x7684;&#x63A8;&#x8350;&#x7CFB;&#x7EDF;&#x3002;</p>
<p><strong>&#x57FA;&#x4E8E;&#x7EDF;&#x8BA1;&#x7684;&#x63A8;&#x8350;&#xFF08;Recommending Based on Statistics&#xFF09;</strong></p>
<p>&#x73B0;&#x5728;&#x573A;&#x666F;&#x5DF2;&#x7ECF;&#x8BBE;&#x5B9A;&#x597D;&#xFF0C;&#x4F7F;&#x7528; <code>significant_terms</code> &#x3002; <code>significant_terms</code> &#x4F1A;&#x5206;&#x6790;&#x559C;&#x6B22;&#x5F71;&#x7247; <em>Talladega Nights</em>&#x7684;&#x7528;&#x6237;&#x7EC4;&#xFF08; <em>&#x524D;&#x7AEF;</em> &#x7528;&#x6237;&#x7EC4;&#xFF09;&#xFF0C;&#x5E76;&#x4E14;&#x786E;&#x5B9A;&#x6700;&#x6D41;&#x884C;&#x7684;&#x7535;&#x5F71;&#x3002; &#x7136;&#x540E;&#x4E3A;&#x6BCF;&#x4E2A;&#x7528;&#x6237;&#xFF08; <em>&#x540E;&#x7AEF;</em> &#x7528;&#x6237;&#xFF09;&#x6784;&#x9020;&#x4E00;&#x4E2A;&#x6D41;&#x884C;&#x5F71;&#x7247;&#x5217;&#x8868;&#xFF0C;&#x6700;&#x540E;&#x5C06;&#x4E24;&#x8005;&#x8FDB;&#x884C;&#x6BD4;&#x8F83;&#x3002;</p>
<p>&#x7EDF;&#x8BA1;&#x5F02;&#x5E38;&#x5C31;&#x662F;&#x4E0E;&#x7EDF;&#x8BA1;&#x80CC;&#x666F;&#x76F8;&#x6BD4;&#x5728;&#x524D;&#x666F;&#x7279;&#x5F81;&#x7EC4;&#x4E2D;&#x8FC7;&#x5EA6;&#x5C55;&#x73B0;&#x7684;&#x90A3;&#x4E9B;&#x5F71;&#x7247;&#x3002;&#x7406;&#x8BBA;&#x4E0A;&#x8BB2;&#xFF0C;&#x5B83;&#x5E94;&#x8BE5;&#x662F;&#x4E00;&#x7EC4;&#x559C;&#x5267;&#xFF0C;&#x56E0;&#x4E3A;&#x559C;&#x6B22; Will Ferrell &#x559C;&#x5267;&#x7684;&#x4EBA;&#x7ED9;&#x8FD9;&#x4E9B;&#x5F71;&#x7247;&#x7684;&#x8BC4;&#x5206;&#x4F1A;&#x6BD4;&#x4E00;&#x822C;&#x4EBA;&#x9AD8;&#x3002;</p>
<p>&#x8BA9;&#x6211;&#x4EEC;&#x8BD5;&#x4E00;&#x4E0B;&#xFF1A;</p>
<pre><code class="lang-js">GET mlratings/_search
{
  <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
  <span class="hljs-string">&quot;query&quot;</span>: {
    <span class="hljs-string">&quot;filtered&quot;</span>: {
      <span class="hljs-string">&quot;filter&quot;</span>: {
        <span class="hljs-string">&quot;term&quot;</span>: {
          <span class="hljs-string">&quot;movie&quot;</span>: <span class="hljs-number">46970</span>
        }
      }
    }
  },
  <span class="hljs-string">&quot;aggs&quot;</span>: {
    <span class="hljs-string">&quot;most_sig&quot;</span>: {
      <span class="hljs-string">&quot;significant_terms&quot;</span>: {        <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">1</span>&gt;</span>
        &quot;field&quot;: &quot;movie&quot;,
        &quot;size&quot;: 6
      }
    }
  }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8BBE;&#x7F6E;&#x51E0;&#x4E4E;&#x4E00;&#x6A21;&#x4E00;&#x6837;&#xFF0C;&#x53EA;&#x662F;&#x7528; <code>significant_terms</code> &#x66FF;&#x4EE3;&#x4E86; <code>terms</code> &#x3002; </p>
</blockquote>
<p>&#x6B63;&#x5982;&#x6240;&#x89C1;&#xFF0C;&#x67E5;&#x8BE2;&#x4E5F;&#x51E0;&#x4E4E;&#x662F;&#x4E00;&#x6837;&#x7684;&#x3002;&#x8FC7;&#x6EE4;&#x51FA;&#x559C;&#x6B22;&#x5F71;&#x7247; <em>Talladega Nights</em> &#x7684;&#x7528;&#x6237;&#xFF0C;&#x4ED6;&#x4EEC;&#x7EC4;&#x6210;&#x4E86;&#x524D;&#x666F;&#x7279;&#x5F81;&#x7528;&#x6237;&#x7EC4;&#x3002;&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C; <code>significant_terms</code> &#x4F1A;&#x4F7F;&#x7528;&#x6574;&#x4E2A;&#x7D22;&#x5F15;&#x91CC;&#x7684;&#x6570;&#x636E;&#x4F5C;&#x4E3A;&#x7EDF;&#x8BA1;&#x80CC;&#x666F;&#xFF0C;&#x6240;&#x4EE5;&#x4E0D;&#x9700;&#x8981;&#x7279;&#x522B;&#x7684;&#x5904;&#x7406;&#x3002;</p>
<p>&#x4E0E; <code>terms</code> &#x7C7B;&#x4F3C;&#xFF0C;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x4E86;&#x4E00;&#x7EC4;&#x6876;&#xFF0C;&#x4E0D;&#x8FC7;&#x6709;&#x66F4;&#x591A;&#x7684;&#x5143;&#x6570;&#x636E;&#x4FE1;&#x606F;&#xFF1A;</p>
<pre><code class="lang-js">...
   <span class="hljs-string">&quot;aggregations&quot;</span>: {
      <span class="hljs-string">&quot;most_sig&quot;</span>: {
         <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">271</span>,                    &lt;1&gt;
         &quot;buckets&quot;: [
            {
               &quot;key&quot;: 46970,
               &quot;key_as_string&quot;: &quot;46970&quot;,
               &quot;doc_count&quot;: 271,
               &quot;score&quot;: 256.549815498155,
               &quot;bg_count&quot;: 271
            },
            { 
               &quot;key&quot;: 52245,                  &lt;2&gt;
               &quot;key_as_string&quot;: &quot;52245&quot;,
               &quot;doc_count&quot;: 59,               &lt;3&gt;
               &quot;score&quot;: 17.66462367106966,
               &quot;bg_count&quot;: 185                &lt;4&gt;
            },
            {
               &quot;key&quot;: 8641,
               &quot;key_as_string&quot;: &quot;8641&quot;,
               &quot;doc_count&quot;: 107,
               &quot;score&quot;: 13.884387742677438,
               &quot;bg_count&quot;: 762
            },
            {
               &quot;key&quot;: 58156,
               &quot;key_as_string&quot;: &quot;58156&quot;,
               &quot;doc_count&quot;: 17,
               &quot;score&quot;: 9.746428133759462,
               &quot;bg_count&quot;: 28
            },
            {
               &quot;key&quot;: 52973,
               &quot;key_as_string&quot;: &quot;52973&quot;,
               &quot;doc_count&quot;: 95,
               &quot;score&quot;: 9.65770100311672,
               &quot;bg_count&quot;: 857
            },
            {
               &quot;key&quot;: 35836,
               &quot;key_as_string&quot;: &quot;35836&quot;,
               &quot;doc_count&quot;: 128,
               &quot;score&quot;: 9.199001116457955,
               &quot;bg_count&quot;: 1610
            }
         ]
 ...
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x9876;&#x5C42; <code>doc_count</code> &#x5C55;&#x73B0;&#x4E86;&#x524D;&#x666F;&#x7279;&#x5F81;&#x7EC4;&#x91CC;&#x6587;&#x6863;&#x7684;&#x6570;&#x91CF;&#x3002;      </p>
<p> <img src="assets/2.png" alt="img">  &#x6BCF;&#x4E2A;&#x6876;&#x91CC;&#x9762;&#x5217;&#x51FA;&#x4E86;&#x805A;&#x5408;&#x7684;&#x952E;&#x503C;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x5F71;&#x7247;&#x7684;ID&#xFF09;&#x3002; </p>
<p> <img src="assets/3.png" alt="img">  &#x6876;&#x5185;&#x6587;&#x6863;&#x7684;&#x6570;&#x91CF; <code>doc_count</code> &#x3002;                     </p>
<p> <img src="assets/4.png" alt="img">  &#x80CC;&#x666F;&#x6587;&#x6863;&#x7684;&#x6570;&#x91CF;&#xFF0C;&#x8868;&#x793A;&#x8BE5;&#x503C;&#x5728;&#x6574;&#x4E2A;&#x7EDF;&#x8BA1;&#x80CC;&#x666F;&#x91CC;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x5EA6;&#x3002;  </p>
</blockquote>
<p>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;&#x83B7;&#x5F97;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x6876;&#x662F; <em>Talladega Nights</em> &#x3002;&#x5B83;&#x53EF;&#x4EE5;&#x5728;&#x6240;&#x6709; 271 &#x4E2A;&#x6587;&#x6863;&#x4E2D;&#x627E;&#x5230;&#xFF0C;&#x8FD9;&#x5E76;&#x4E0D;&#x610F;&#x5916;&#x3002;&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x4E0B;&#x4E00;&#x4E2A;&#x6876;&#xFF1A;&#x952E;&#x503C; <code>52245</code> &#x3002;</p>
<p>&#x8FD9;&#x4E2A; ID &#x5BF9;&#x5E94;&#x5F71;&#x7247; <em>Blades of Glory&#xFF08;&#x8363;&#x8A89;&#x4E4B;&#x5203;&#xFF09;</em> &#xFF0C;&#x5B83;&#x662F;&#x4E00;&#x90E8;&#x5173;&#x4E8E;&#x7537;&#x5B50;&#x5B66;&#x4E60;&#x6ED1;&#x51B0;&#x7684;&#x559C;&#x5267;&#xFF0C;&#x4E5F;&#x662F;&#x7531; Will Ferrell &#x4E3B;&#x6F14;&#x3002;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x559C;&#x6B22; <em>Talladega Nights</em> &#x7684;&#x7528;&#x6237;&#x5BF9;&#x5B83;&#x7684;&#x63A8;&#x8350;&#x662F; 59 &#x6B21;&#x3002; &#x8FD9;&#x4E5F;&#x610F;&#x5473;&#x7740; 21% &#x7684;&#x524D;&#x666F;&#x7279;&#x5F81;&#x7528;&#x6237;&#x7EC4;&#x63A8;&#x8350;&#x4E86;&#x5F71;&#x7247; <em>Blades of Glory</em> &#xFF08; <code>59 / 271 = 0.2177</code> &#xFF09;&#x3002;</p>
<p>&#x5F62;&#x6210;&#x5BF9;&#x6BD4;&#x7684;&#x662F;&#xFF0C; <em>Blades of Glory</em> &#x5728;&#x6574;&#x4E2A;&#x6570;&#x636E;&#x96C6;&#x5408;&#x4E2D;&#x4EC5;&#x88AB;&#x63A8;&#x8350;&#x4E86; 185 &#x6B21;&#xFF0C; &#x53EA;&#x5360; 0.26% &#xFF08; <code>185 / 69796 = 0.00265</code> &#xFF09;&#x3002;&#x56E0;&#x6B64; <em>Blades of Glory</em> &#x662F;&#x4E00;&#x4E2A;&#x7EDF;&#x8BA1;&#x5F02;&#x5E38;&#xFF1A;&#x5B83;&#x5728;&#x559C;&#x6B22; <em>Talladega Nights</em> &#x7684;&#x7528;&#x6237;&#x4E2D;&#x662F;&#x663E;&#x8457;&#x7684;&#x5171;&#x6027;&#xFF08;&#x6CE8;&#xFF1A;uncommonly common&#xFF09;&#x3002;&#x8FD9;&#x6837;&#x5C31;&#x627E;&#x5230;&#x4E86;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x63A8;&#x8350;&#xFF01;</p>
<p>&#x5982;&#x679C;&#x770B;&#x5B8C;&#x6574;&#x7684;&#x5217;&#x8868;&#xFF0C;&#x5B83;&#x4EEC;&#x90FD;&#x662F;&#x597D;&#x7684;&#x559C;&#x5267;&#x63A8;&#x8350;&#xFF08;&#x5176;&#x4E2D;&#x5F88;&#x591A;&#x4E5F;&#x662F;&#x7531; Will Ferrell &#x4E3B;&#x6F14;&#xFF09;&#xFF1A;</p>
<ol>
<li>Blades of Glory&#xFF08;&#x8363;&#x8A89;&#x4E4B;&#x5203;&#xFF09;</li>
<li>Anchorman: The Legend of Ron Burgundy&#xFF08;&#x738B;&#x724C;&#x64AD;&#x97F3;&#x5458;&#xFF09;</li>
<li>Semi-Pro&#xFF08;&#x534A;&#x804C;&#x4E1A;&#x9009;&#x624B;&#xFF09;</li>
<li>Knocked Up&#xFF08;&#x4E00;&#x591C;&#x5927;&#x809A;&#xFF09;</li>
<li>40-Year-Old Virgin, The&#xFF08;&#x56DB;&#x5341;&#x5C81;&#x7684;&#x8001;&#x5904;&#x7537;&#xFF09;</li>
</ol>
<p>&#x8FD9;&#x53EA;&#x662F; <code>significant_terms</code> &#x5B83;&#x5F3A;&#x5927;&#x7684;&#x4E00;&#x4E2A;&#x793A;&#x4F8B;&#xFF0C;&#x4E00;&#x65E6;&#x5F00;&#x59CB;&#x4F7F;&#x7528; <code>significant_terms</code> &#xFF0C;&#x53EF;&#x80FD;&#x78B0;&#x5230;&#x8FD9;&#x6837;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x6211;&#x4EEC;&#x4E0D;&#x60F3;&#x8981;&#x6700;&#x6D41;&#x884C;&#x7684;&#xFF0C;&#x800C;&#x60F3;&#x8981;&#x663E;&#x8457;&#x7684;&#x5171;&#x6027;&#xFF08;&#x6CE8;&#xFF1A;uncommonly common&#xFF09;&#x3002;&#x8FD9;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x805A;&#x5408;&#x53EF;&#x4EE5;&#x63ED;&#x793A;&#x51FA;&#x4E00;&#x4E9B;&#x6570;&#x636E;&#x91CC;&#x51FA;&#x4EBA;&#x610F;&#x6599;&#x7684;&#x590D;&#x6742;&#x8D8B;&#x52BF;&#x3002;</p>
<h2 id="DocValuesandFielddata"><a name="DocValuesandFielddata" class="anchor-navigation-ex-anchor" href="#DocValuesandFielddata"><i class="fa fa-link" aria-hidden="true"></i></a>Doc Values and Fielddata  </h2>
<h3 id="DocValues"><a name="DocValues" class="anchor-navigation-ex-anchor" href="#DocValues"><i class="fa fa-link" aria-hidden="true"></i></a>Doc Values  </h3>
<p>&#x805A;&#x5408;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x53EB; <em>doc values</em> &#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF08;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/docvalues-intro.html" target="_blank">Doc Values &#x4ECB;&#x7ECD;</a> &#x91CC;&#x7B80;&#x5355;&#x4ECB;&#x7ECD;&#xFF09;&#x3002; Doc values &#x53EF;&#x4EE5;&#x4F7F;&#x805A;&#x5408;&#x66F4;&#x5FEB;&#x3001;&#x66F4;&#x9AD8;&#x6548;&#x5E76;&#x4E14;&#x5185;&#x5B58;&#x53CB;&#x597D;&#xFF0C;&#x6240;&#x4EE5;&#x7406;&#x89E3;&#x5B83;&#x7684;&#x5DE5;&#x4F5C;&#x65B9;&#x5F0F;&#x5341;&#x5206;&#x6709;&#x76CA;&#x3002;</p>
<p>Doc values &#x7684;&#x5B58;&#x5728;&#x662F;&#x56E0;&#x4E3A;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x53EA;&#x5BF9;&#x67D0;&#x4E9B;&#x64CD;&#x4F5C;&#x662F;&#x9AD8;&#x6548;&#x7684;&#x3002; &#x5012;&#x6392;&#x7D22;&#x5F15;&#x7684;&#x4F18;&#x52BF; &#x5728;&#x4E8E;&#x67E5;&#x627E;&#x5305;&#x542B;&#x67D0;&#x4E2A;&#x9879;&#x7684;&#x6587;&#x6863;&#xFF0C;&#x800C;&#x5BF9;&#x4E8E;&#x4ECE;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x65B9;&#x5411;&#x7684;&#x76F8;&#x53CD;&#x64CD;&#x4F5C;&#x5E76;&#x4E0D;&#x9AD8;&#x6548;&#xFF0C;&#x5373;&#xFF1A;&#x786E;&#x5B9A;&#x54EA;&#x4E9B;&#x9879;&#x662F;&#x5426;&#x5B58;&#x5728;&#x5355;&#x4E2A;&#x6587;&#x6863;&#x91CC;&#xFF0C;&#x805A;&#x5408;&#x9700;&#x8981;&#x8FD9;&#x79CD;&#x6B21;&#x7EA7;&#x7684;&#x8BBF;&#x95EE;&#x6A21;&#x5F0F;&#x3002;</p>
<p>&#x5BF9;&#x4E8E;&#x4EE5;&#x4E0B;&#x5012;&#x6392;&#x7D22;&#x5F15;&#xFF1A;</p>
<pre><code>Term      Doc_1   Doc_2   Doc_3
------------------------------------
brown   |   X   |   X   |
dog     |   X   |       |   X
dogs    |       |   X   |   X
fox     |   X   |       |   X
foxes   |       |   X   |
in      |       |   X   |
jumped  |   X   |       |   X
lazy    |   X   |   X   |
leap    |       |   X   |
over    |   X   |   X   |   X
quick   |   X   |   X   |   X
summer  |       |   X   |
the     |   X   |       |   X
------------------------------------
</code></pre><p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x83B7;&#x5F97;&#x6240;&#x6709;&#x5305;&#x542B; <code>brown</code> &#x7684;&#x6587;&#x6863;&#x7684;&#x8BCD;&#x7684;&#x5B8C;&#x6574;&#x5217;&#x8868;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x521B;&#x5EFA;&#x5982;&#x4E0B;&#x67E5;&#x8BE2;&#xFF1A;</p>
<pre><code class="lang-js">GET /my_index/_search
{
  <span class="hljs-string">&quot;query&quot;</span> : {
    <span class="hljs-string">&quot;match&quot;</span> : {
      <span class="hljs-string">&quot;body&quot;</span> : <span class="hljs-string">&quot;brown&quot;</span>
    }
  },
  <span class="hljs-string">&quot;aggs&quot;</span> : {
    <span class="hljs-string">&quot;popular_terms&quot;</span>: {
      <span class="hljs-string">&quot;terms&quot;</span> : {
        <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;body&quot;</span>
      }
    }
  }
}
</code></pre>
<p>&#x67E5;&#x8BE2;&#x90E8;&#x5206;&#x7B80;&#x5355;&#x53C8;&#x9AD8;&#x6548;&#x3002;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x662F;&#x6839;&#x636E;&#x9879;&#x6765;&#x6392;&#x5E8F;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x9996;&#x5148;&#x5728;&#x8BCD;&#x9879;&#x5217;&#x8868;&#x4E2D;&#x627E;&#x5230; <code>brown</code> &#xFF0C;&#x7136;&#x540E;&#x626B;&#x63CF;&#x6240;&#x6709;&#x5217;&#xFF0C;&#x627E;&#x5230;&#x5305;&#x542B; <code>brown</code> &#x7684;&#x6587;&#x6863;&#x3002;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5FEB;&#x901F;&#x770B;&#x5230; <code>Doc_1</code> &#x548C; <code>Doc_2</code> &#x5305;&#x542B; <code>brown</code> &#x8FD9;&#x4E2A; token&#x3002;</p>
<p>&#x7136;&#x540E;&#xFF0C;&#x5BF9;&#x4E8E;&#x805A;&#x5408;&#x90E8;&#x5206;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x627E;&#x5230; <code>Doc_1</code> &#x548C; <code>Doc_2</code> &#x91CC;&#x6240;&#x6709;&#x552F;&#x4E00;&#x7684;&#x8BCD;&#x9879;&#x3002; &#x7528;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x505A;&#x8FD9;&#x4EF6;&#x4E8B;&#x60C5;&#x4EE3;&#x4EF7;&#x5F88;&#x9AD8;&#xFF1A; &#x6211;&#x4EEC;&#x4F1A;&#x8FED;&#x4EE3;&#x7D22;&#x5F15;&#x91CC;&#x7684;&#x6BCF;&#x4E2A;&#x8BCD;&#x9879;&#x5E76;&#x6536;&#x96C6; <code>Doc_1</code> &#x548C; <code>Doc_2</code> &#x5217;&#x91CC;&#x9762; token&#x3002;&#x8FD9;&#x5F88;&#x6162;&#x800C;&#x4E14;&#x96BE;&#x4EE5;&#x6269;&#x5C55;&#xFF1A;&#x968F;&#x7740;&#x8BCD;&#x9879;&#x548C;&#x6587;&#x6863;&#x7684;&#x6570;&#x91CF;&#x589E;&#x52A0;&#xFF0C;&#x6267;&#x884C;&#x65F6;&#x95F4;&#x4E5F;&#x4F1A;&#x589E;&#x52A0;&#x3002;</p>
<p>Doc values &#x901A;&#x8FC7;&#x8F6C;&#x7F6E;&#x4E24;&#x8005;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#x6765;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x3002;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x5C06;&#x8BCD;&#x9879;&#x6620;&#x5C04;&#x5230;&#x5305;&#x542B;&#x5B83;&#x4EEC;&#x7684;&#x6587;&#x6863;&#xFF0C;doc values &#x5C06;&#x6587;&#x6863;&#x6620;&#x5C04;&#x5230;&#x5B83;&#x4EEC;&#x5305;&#x542B;&#x7684;&#x8BCD;&#x9879;&#xFF1A;</p>
<pre><code>Doc      Terms
-----------------------------------------------------------------
Doc_1 | brown, dog, fox, jumped, lazy, over, quick, the
Doc_2 | brown, dogs, foxes, in, lazy, leap, over, quick, summer
Doc_3 | dog, dogs, fox, jumped, over, quick, the
-----------------------------------------------------------------
</code></pre><p>&#x5F53;&#x6570;&#x636E;&#x88AB;&#x8F6C;&#x7F6E;&#x4E4B;&#x540E;&#xFF0C;&#x60F3;&#x8981;&#x6536;&#x96C6;&#x5230; <code>Doc_1</code> &#x548C; <code>Doc_2</code> &#x7684;&#x552F;&#x4E00; token &#x4F1A;&#x975E;&#x5E38;&#x5BB9;&#x6613;&#x3002;&#x83B7;&#x5F97;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x884C;&#xFF0C;&#x83B7;&#x53D6;&#x6240;&#x6709;&#x7684;&#x8BCD;&#x9879;&#xFF0C;&#x7136;&#x540E;&#x6C42;&#x4E24;&#x4E2A;&#x96C6;&#x5408;&#x7684;&#x5E76;&#x96C6;&#x3002;</p>
<p>&#x56E0;&#x6B64;&#xFF0C;&#x641C;&#x7D22;&#x548C;&#x805A;&#x5408;&#x662F;&#x76F8;&#x4E92;&#x7D27;&#x5BC6;&#x7F20;&#x7ED5;&#x7684;&#x3002;&#x641C;&#x7D22;&#x4F7F;&#x7528;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x67E5;&#x627E;&#x6587;&#x6863;&#xFF0C;&#x805A;&#x5408;&#x64CD;&#x4F5C;&#x6536;&#x96C6;&#x548C;&#x805A;&#x5408; doc values &#x91CC;&#x7684;&#x6570;&#x636E;&#x3002;</p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  Doc values &#x4E0D;&#x4EC5;&#x53EF;&#x4EE5;&#x7528;&#x4E8E;&#x805A;&#x5408;&#x3002; &#x4EFB;&#x4F55;&#x9700;&#x8981;&#x67E5;&#x627E;&#x67D0;&#x4E2A;&#x6587;&#x6863;&#x5305;&#x542B;&#x7684;&#x503C;&#x7684;&#x64CD;&#x4F5C;&#x90FD;&#x5FC5;&#x987B;&#x4F7F;&#x7528;&#x5B83;&#x3002; &#x9664;&#x4E86;&#x805A;&#x5408;&#xFF0C;&#x8FD8;&#x5305;&#x62EC;&#x6392;&#x5E8F;&#xFF0C;&#x8BBF;&#x95EE;&#x5B57;&#x6BB5;&#x503C;&#x7684;&#x811A;&#x672C;&#xFF0C;&#x7236;&#x5B50;&#x5173;&#x7CFB;&#x5904;&#x7406;&#xFF08;&#x53C2;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/parent-child.html" target="_blank"><em>&#x7236;-&#x5B50;&#x5173;&#x7CFB;&#x6587;&#x6863;</em></a> &#xFF09;&#x3002;  </p>
</blockquote>
<h3 id="&#x6DF1;&#x5165;&#x7406;&#x89E3;DocValues"><a name="&#x6DF1;&#x5165;&#x7406;&#x89E3;DocValues" class="anchor-navigation-ex-anchor" href="#&#x6DF1;&#x5165;&#x7406;&#x89E3;DocValues"><i class="fa fa-link" aria-hidden="true"></i></a>&#x6DF1;&#x5165;&#x7406;&#x89E3; Doc Values  </h3>
<p>&#x5728;&#x4E0A;&#x4E00;&#x8282;&#x4E00;&#x5F00;&#x5934;&#x6211;&#x4EEC;&#x5C31;&#x8BF4; <code>Doc Values</code> &#x662F; <em>&quot;&#x5FEB;&#x901F;&#x3001;&#x9AD8;&#x6548;&#x5E76;&#x4E14;&#x5185;&#x5B58;&#x53CB;&#x597D;&quot;</em> &#x3002; &#x8FD9;&#x4E2A;&#x53E3;&#x53F7;&#x542C;&#x4E0D;&#x8D77;&#x6765;&#x4E0D;&#x9519;&#xFF0C;&#x4E0D;&#x8FC7;&#x8BDD;&#x8BF4;&#x56DE;&#x6765; <code>Doc Values</code> &#x5230;&#x5E95;&#x662F;&#x5982;&#x4F55;&#x5DE5;&#x4F5C;&#x7684;&#x5462;&#xFF1F;</p>
<p><code>Doc Values</code> &#x662F;&#x5728;&#x7D22;&#x5F15;&#x65F6;&#x4E0E; <code>&#x5012;&#x6392;&#x7D22;&#x5F15;</code> &#x540C;&#x65F6;&#x751F;&#x6210;&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4; <code>Doc Values</code> &#x548C; <code>&#x5012;&#x6392;&#x7D22;&#x5F15;</code> &#x4E00;&#x6837;&#xFF0C;&#x57FA;&#x4E8E; <code>Segement</code>&#x751F;&#x6210;&#x5E76;&#x4E14;&#x662F;&#x4E0D;&#x53EF;&#x53D8;&#x7684;&#x3002;&#x540C;&#x65F6; <code>Doc Values</code> &#x548C; <code>&#x5012;&#x6392;&#x7D22;&#x5F15;</code> &#x4E00;&#x6837;&#x5E8F;&#x5217;&#x5316;&#x5230;&#x78C1;&#x76D8;&#xFF0C;&#x8FD9;&#x6837;&#x5BF9;&#x6027;&#x80FD;&#x548C;&#x6269;&#x5C55;&#x6027;&#x6709;&#x5F88;&#x5927;&#x5E2E;&#x52A9;&#x3002;</p>
<p><code>Doc Values</code> &#x901A;&#x8FC7;&#x5E8F;&#x5217;&#x5316;&#x628A;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x6301;&#x4E45;&#x5316;&#x5230;&#x78C1;&#x76D8;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5145;&#x5206;&#x5229;&#x7528;&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;&#x7684;&#x5185;&#x5B58;&#xFF0C;&#x800C;&#x4E0D;&#x662F; <code>JVM</code> &#x7684; <code>Heap</code> &#x3002; &#x5F53; <code>working set</code> &#x8FDC;&#x5C0F;&#x4E8E;&#x7CFB;&#x7EDF;&#x7684;&#x53EF;&#x7528;&#x5185;&#x5B58;&#xFF0C;&#x7CFB;&#x7EDF;&#x4F1A;&#x81EA;&#x52A8;&#x5C06; <code>Doc Values</code> &#x9A7B;&#x7559;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;&#x4F7F;&#x5F97;&#x5176;&#x8BFB;&#x5199;&#x5341;&#x5206;&#x5FEB;&#x901F;&#xFF1B;&#x4E0D;&#x8FC7;&#xFF0C;&#x5F53;&#x5176;&#x8FDC;&#x5927;&#x4E8E;&#x53EF;&#x7528;&#x5185;&#x5B58;&#x65F6;&#xFF0C;&#x7CFB;&#x7EDF;&#x4F1A;&#x6839;&#x636E;&#x9700;&#x8981;&#x4ECE;&#x78C1;&#x76D8;&#x8BFB;&#x53D6; <code>Doc Values</code>&#xFF0C;&#x7136;&#x540E;&#x9009;&#x62E9;&#x6027;&#x653E;&#x5230;&#x5206;&#x9875;&#x7F13;&#x5B58;&#x4E2D;&#x3002;&#x5F88;&#x663E;&#x7136;&#xFF0C;&#x8FD9;&#x6837;&#x6027;&#x80FD;&#x4F1A;&#x6BD4;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x5DEE;&#x5F88;&#x591A;&#xFF0C;&#x4F46;&#x662F;&#x5B83;&#x7684;&#x5927;&#x5C0F;&#x5C31;&#x4E0D;&#x518D;&#x5C40;&#x9650;&#x4E8E;&#x670D;&#x52A1;&#x5668;&#x7684;&#x5185;&#x5B58;&#x4E86;&#x3002;&#x5982;&#x679C;&#x662F;&#x4F7F;&#x7528; <code>JVM</code> &#x7684; <code>Heap</code> &#x6765;&#x5B9E;&#x73B0;&#x90A3;&#x4E48;&#x53EA;&#x80FD;&#x662F;&#x56E0;&#x4E3A; <code>OutOfMemory</code> &#x5BFC;&#x81F4;&#x7A0B;&#x5E8F;&#x5D29;&#x6E83;&#x4E86;&#x3002;  </p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x56E0;&#x4E3A; <code>Doc Values</code> &#x4E0D;&#x662F;&#x7531; <code>JVM</code> &#x6765;&#x7BA1;&#x7406;&#xFF0C;&#x6240;&#x4EE5; <code>Elasticsearch</code> &#x5B9E;&#x4F8B;&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#x4E00;&#x4E2A;&#x5F88;&#x5C0F;&#x7684; <code>JVM Heap</code>&#xFF0C;&#x8FD9;&#x6837;&#x7ED9;&#x7CFB;&#x7EDF;&#x7559;&#x51FA;&#x6765;&#x66F4;&#x591A;&#x7684;&#x5185;&#x5B58;&#x3002;&#x540C;&#x65F6;&#x66F4;&#x5C0F;&#x7684; <code>Heap</code> &#x53EF;&#x4EE5;&#x8BA9; <code>JVM</code> &#x66F4;&#x52A0;&#x5FEB;&#x901F;&#x548C;&#x9AD8;&#x6548;&#x7684;&#x56DE;&#x6536;&#x3002;  </p>
<p> &#x4E4B;&#x524D;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x5EFA;&#x8BAE;&#x5206;&#x914D;&#x673A;&#x5668;&#x5185;&#x5B58;&#x7684; <code>50%</code> &#x6765;&#x7ED9; <code>JVM Heap</code>&#x3002;&#x4F46;&#x662F;&#x5BF9;&#x4E8E; <code>Doc Values</code>&#xFF0C;&#x8FD9;&#x6837;&#x53EF;&#x80FD;&#x4E0D;&#x662F;&#x6700;&#x5408;&#x9002;&#x7684;&#x65B9;&#x6848;&#x4E86;&#x3002; &#x4EE5; <code>64gb</code> &#x5185;&#x5B58;&#x7684;&#x673A;&#x5668;&#x4E3A;&#x4F8B;&#xFF0C;&#x53EF;&#x80FD;&#x7ED9; <code>Heap</code> &#x5206;&#x914D; <code>4-16gb</code> &#x7684;&#x5185;&#x5B58;&#x66F4;&#x5408;&#x9002;&#xFF0C;&#x800C;&#x4E0D;&#x662F; <code>32gb</code>&#x3002;</p>
<p> &#x6709;&#x5173;&#x66F4;&#x8BE6;&#x7EC6;&#x7684;&#x8BA8;&#x8BBA;&#xFF0C;&#x67E5;&#x770B; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html" target="_blank">&#x5806;&#x5185;&#x5B58;:&#x5927;&#x5C0F;&#x548C;&#x4EA4;&#x6362;</a>.  </p>
</blockquote>
<p><strong>&#x5217;&#x5F0F;&#x5B58;&#x50A8;&#x7684;&#x538B;&#x7F29;</strong></p>
<p>&#x4ECE;&#x5E7F;&#x4E49;&#x6765;&#x8BF4;&#xFF0C;<code>Doc Values</code> &#x672C;&#x8D28;&#x4E0A;&#x662F;&#x4E00;&#x4E2A;&#x5E8F;&#x5217;&#x5316;&#x7684; <em>&#x5217;&#x5F0F;&#x5B58;&#x50A8;</em> &#x3002; &#x6B63;&#x5982;&#x6211;&#x4EEC;&#x4E0A;&#x4E00;&#x8282;&#x6240;&#x8BA8;&#x8BBA;&#x7684;&#xFF0C;<em>&#x5217;&#x5F0F;&#x5B58;&#x50A8;</em> &#x9002;&#x7528;&#x4E8E;&#x805A;&#x5408;&#x3001;&#x6392;&#x5E8F;&#x3001;&#x811A;&#x672C;&#x7B49;&#x64CD;&#x4F5C;&#x3002;</p>
<p>&#x800C;&#x4E14;&#xFF0C;&#x8FD9;&#x79CD;&#x5B58;&#x50A8;&#x65B9;&#x5F0F;&#x4E5F;&#x975E;&#x5E38;&#x4FBF;&#x4E8E;&#x538B;&#x7F29;&#xFF0C;&#x7279;&#x522B;&#x662F;&#x6570;&#x5B57;&#x7C7B;&#x578B;&#x3002;&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x51CF;&#x5C11;&#x78C1;&#x76D8;&#x7A7A;&#x95F4;&#x5E76;&#x4E14;&#x63D0;&#x9AD8;&#x8BBF;&#x95EE;&#x901F;&#x5EA6;&#x3002;&#x73B0;&#x4EE3; <code>CPU</code> &#x7684;&#x5904;&#x7406;&#x901F;&#x5EA6;&#x8981;&#x6BD4;&#x78C1;&#x76D8;&#x5FEB;&#x51E0;&#x4E2A;&#x6570;&#x91CF;&#x7EA7;&#xFF08;&#x5C3D;&#x7BA1;&#x5373;&#x5C06;&#x5230;&#x6765;&#x7684; NVMe &#x9A71;&#x52A8;&#x5668;&#x6B63;&#x5728;&#x8FC5;&#x901F;&#x7F29;&#x5C0F;&#x5DEE;&#x8DDD;&#xFF09;&#x3002;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x5FC5;&#x987B;&#x51CF;&#x5C11;&#x76F4;&#x63A5;&#x5B58;&#x78C1;&#x76D8;&#x8BFB;&#x53D6;&#x6570;&#x636E;&#x7684;&#x5927;&#x5C0F;&#xFF0C;&#x5C3D;&#x7BA1;&#x9700;&#x8981;&#x989D;&#x5916;&#x6D88;&#x8017; <code>CPU</code> &#x8FD0;&#x7B97;&#x7528;&#x6765;&#x8FDB;&#x884C;&#x89E3;&#x538B;&#x3002;</p>
<p>&#x8981;&#x4E86;&#x89E3;&#x5B83;&#x5982;&#x4F55;&#x538B;&#x7F29;&#x6570;&#x636E;&#x7684;&#xFF0C;&#x6765;&#x770B;&#x4E00;&#x7EC4;&#x6570;&#x5B57;&#x7C7B;&#x578B;&#x7684; <code>Doc Values</code>&#xFF1A;</p>
<pre><code>Doc      Terms
-----------------------------------------------------------------
Doc_1 | 100
Doc_2 | 1000
Doc_3 | 1500
Doc_4 | 1200
Doc_5 | 300
Doc_6 | 1900
Doc_7 | 4200
-----------------------------------------------------------------
</code></pre><p>&#x6309;&#x5217;&#x5E03;&#x5C40;&#x610F;&#x5473;&#x7740;&#x6211;&#x4EEC;&#x6709;&#x4E00;&#x4E2A;&#x8FDE;&#x7EED;&#x7684;&#x6570;&#x636E;&#x5757;&#xFF1A; <code>[100,1000,1500,1200,300,1900,4200]</code> &#x3002;&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x5DF2;&#x7ECF;&#x77E5;&#x9053;&#x4ED6;&#x4EEC;&#x90FD;&#x662F;&#x6570;&#x5B57;&#xFF08;&#x800C;&#x4E0D;&#x662F;&#x50CF;&#x6587;&#x6863;&#x6216;&#x884C;&#x4E2D;&#x770B;&#x5230;&#x7684;&#x5F02;&#x6784;&#x96C6;&#x5408;&#xFF09;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x7EDF;&#x4E00;&#x7684;&#x504F;&#x79FB;&#x6765;&#x5C06;&#x4ED6;&#x4EEC;&#x7D27;&#x7D27;&#x6392;&#x5217;&#x3002;</p>
<p>&#x800C;&#x4E14;&#xFF0C;&#x9488;&#x5BF9;&#x8FD9;&#x6837;&#x7684;&#x6570;&#x5B57;&#x6709;&#x5F88;&#x591A;&#x79CD;&#x538B;&#x7F29;&#x6280;&#x5DE7;&#x3002;&#x4F60;&#x4F1A;&#x6CE8;&#x610F;&#x5230;&#x8FD9;&#x91CC;&#x6BCF;&#x4E2A;&#x6570;&#x5B57;&#x90FD;&#x662F; 100 &#x7684;&#x500D;&#x6570;&#xFF0C;<code>Doc Values</code> &#x4F1A;&#x68C0;&#x6D4B;&#x4E00;&#x4E2A;&#x6BB5;&#x91CC;&#x9762;&#x7684;&#x6240;&#x6709;&#x6570;&#x503C;&#xFF0C;&#x5E76;&#x4F7F;&#x7528;&#x4E00;&#x4E2A; <em>&#x6700;&#x5927;&#x516C;&#x7EA6;&#x6570;</em> &#xFF0C;&#x65B9;&#x4FBF;&#x505A;&#x8FDB;&#x4E00;&#x6B65;&#x7684;&#x6570;&#x636E;&#x538B;&#x7F29;&#x3002;</p>
<p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x4FDD;&#x5B58; <code>100</code> &#x4F5C;&#x4E3A;&#x6B64;&#x6BB5;&#x7684;&#x9664;&#x6570;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5BF9;&#x6BCF;&#x4E2A;&#x6570;&#x5B57;&#x90FD;&#x9664;&#x4EE5; 100&#xFF0C;&#x7136;&#x540E;&#x5F97;&#x5230;&#xFF1A;<code>[1,10,15,12,3,19,42]</code> &#x3002;&#x73B0;&#x5728;&#x8FD9;&#x4E9B;&#x6570;&#x5B57;&#x53D8;&#x5C0F;&#x4E86;&#xFF0C;&#x53EA;&#x9700;&#x8981;&#x5F88;&#x5C11;&#x7684;&#x4F4D;&#x5C31;&#x53EF;&#x4EE5;&#x5B58;&#x50A8;&#x4E0B;&#xFF0C;&#x4E5F;&#x51CF;&#x5C11;&#x4E86;&#x78C1;&#x76D8;&#x5B58;&#x653E;&#x7684;&#x5927;&#x5C0F;&#x3002;</p>
<p><code>Doc Values</code> &#x5728;&#x538B;&#x7F29;&#x8FC7;&#x7A0B;&#x4E2D;&#x4F7F;&#x7528;&#x5982;&#x4E0B;&#x6280;&#x5DE7;&#x3002;&#x5B83;&#x4F1A;&#x6309;&#x4F9D;&#x6B21;&#x68C0;&#x6D4B;&#x4EE5;&#x4E0B;&#x538B;&#x7F29;&#x6A21;&#x5F0F;:</p>
<ol>
<li>&#x5982;&#x679C;&#x6240;&#x6709;&#x7684;&#x6570;&#x503C;&#x5404;&#x4E0D;&#x76F8;&#x540C;&#xFF08;&#x6216;&#x7F3A;&#x5931;&#xFF09;&#xFF0C;&#x8BBE;&#x7F6E;&#x4E00;&#x4E2A;&#x6807;&#x8BB0;&#x5E76;&#x8BB0;&#x5F55;&#x8FD9;&#x4E9B;&#x503C;</li>
<li>&#x5982;&#x679C;&#x8FD9;&#x4E9B;&#x503C;&#x5C0F;&#x4E8E; 256&#xFF0C;&#x5C06;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x7F16;&#x7801;&#x8868;</li>
<li>&#x5982;&#x679C;&#x8FD9;&#x4E9B;&#x503C;&#x5927;&#x4E8E; 256&#xFF0C;&#x68C0;&#x6D4B;&#x662F;&#x5426;&#x5B58;&#x5728;&#x4E00;&#x4E2A;&#x6700;&#x5927;&#x516C;&#x7EA6;&#x6570;</li>
<li>&#x5982;&#x679C;&#x6CA1;&#x6709;&#x5B58;&#x5728;&#x6700;&#x5927;&#x516C;&#x7EA6;&#x6570;&#xFF0C;&#x4ECE;&#x6700;&#x5C0F;&#x7684;&#x6570;&#x503C;&#x5F00;&#x59CB;&#xFF0C;&#x7EDF;&#x4E00;&#x8BA1;&#x7B97;&#x504F;&#x79FB;&#x91CF;&#x8FDB;&#x884C;&#x7F16;&#x7801;</li>
</ol>
<p>&#x4F60;&#x4F1A;&#x53D1;&#x73B0;&#x8FD9;&#x4E9B;&#x538B;&#x7F29;&#x6A21;&#x5F0F;&#x4E0D;&#x662F;&#x4F20;&#x7EDF;&#x7684;&#x901A;&#x7528;&#x7684;&#x538B;&#x7F29;&#x65B9;&#x5F0F;&#xFF0C;&#x6BD4;&#x5982; <code>DEFLATE</code> &#x6216;&#x662F; <code>LZ4</code>&#x3002; &#x56E0;&#x4E3A;&#x5217;&#x5F0F;&#x5B58;&#x50A8;&#x7684;&#x7ED3;&#x6784;&#x662F;&#x4E25;&#x683C;&#x4E14;&#x826F;&#x597D;&#x5B9A;&#x4E49;&#x7684;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4F7F;&#x7528;&#x4E13;&#x95E8;&#x7684;&#x6A21;&#x5F0F;&#x6765;&#x8FBE;&#x5230;&#x6BD4;&#x901A;&#x7528;&#x538B;&#x7F29;&#x7B97;&#x6CD5;&#xFF08;&#x5982; LZ4 &#xFF09;&#x66F4;&#x9AD8;&#x7684;&#x538B;&#x7F29;&#x6548;&#x679C;&#x3002;</p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x4F60;&#x4E5F;&#x8BB8;&#x4F1A;&#x60F3; <em>&quot;&#x597D;&#x5427;&#xFF0C;&#x8C8C;&#x4F3C;&#x5BF9;&#x6570;&#x5B57;&#x5F88;&#x597D;&#xFF0C;&#x4E0D;&#x77E5;&#x9053;&#x5B57;&#x7B26;&#x4E32;&#x600E;&#x4E48;&#x6837;&#xFF1F;&quot;</em> &#x901A;&#x8FC7;&#x501F;&#x52A9;&#x987A;&#x5E8F;&#x8868;&#xFF08;ordinal table&#xFF09;&#xFF0C;<code>String</code> &#x7C7B;&#x578B;&#x4E5F;&#x662F;&#x7C7B;&#x4F3C;&#x8FDB;&#x884C;&#x7F16;&#x7801;&#x7684;&#x3002;<code>String</code> &#x7C7B;&#x578B;&#x662F;&#x53BB;&#x91CD;&#x4E4B;&#x540E;&#x5B58;&#x653E;&#x5230;&#x987A;&#x5E8F;&#x8868;&#x7684;&#xFF0C;&#x901A;&#x8FC7;&#x5206;&#x914D;&#x4E00;&#x4E2A; <code>ID</code>&#xFF0C;&#x7136;&#x540E;&#x901A;&#x8FC7;&#x6570;&#x5B57;&#x7C7B;&#x578B;&#x7684; <code>ID</code> &#x6784;&#x5EFA; <code>Doc Values</code>&#x3002;&#x8FD9;&#x6837; <code>String</code> &#x7C7B;&#x578B;&#x548C;&#x6570;&#x503C;&#x7C7B;&#x578B;&#x53EF;&#x4EE5;&#x8FBE;&#x5230;&#x540C;&#x6837;&#x7684;&#x538B;&#x7F29;&#x6548;&#x679C;&#x3002;  </p>
<p> &#x987A;&#x5E8F;&#x8868;&#x672C;&#x8EAB;&#x4E5F;&#x6709;&#x5F88;&#x591A;&#x538B;&#x7F29;&#x6280;&#x5DE7;&#xFF0C;&#x6BD4;&#x5982;&#x56FA;&#x5B9A;&#x957F;&#x5EA6;&#x3001;&#x53D8;&#x957F;&#x6216;&#x662F;&#x524D;&#x7F00;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#x7B49;&#x7B49;&#x3002;  </p>
</blockquote>
<p><strong>&#x7981;&#x7528; Doc Values</strong></p>
<p><code>Doc Values</code> &#x9ED8;&#x8BA4;&#x5BF9;&#x6240;&#x6709;&#x5B57;&#x6BB5;&#x542F;&#x7528;&#xFF0C;&#x9664;&#x4E86; <code>analyzed strings</code>&#x3002;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#x6240;&#x6709;&#x7684;&#x6570;&#x5B57;&#x3001;&#x5730;&#x7406;&#x5750;&#x6807;&#x3001;&#x65E5;&#x671F;&#x3001;IP &#x548C;&#x4E0D;&#x5206;&#x6790;&#xFF08; <code>not_analyzed</code> &#xFF09;&#x5B57;&#x7B26;&#x7C7B;&#x578B;&#x90FD;&#x4F1A;&#x9ED8;&#x8BA4;&#x5F00;&#x542F;&#x3002;</p>
<p><code>analyzed strings</code> &#x6682;&#x65F6;&#x8FD8;&#x4E0D;&#x80FD;&#x4F7F;&#x7528; <code>Doc Values</code>&#x3002;&#x6587;&#x672C;&#x7ECF;&#x8FC7;&#x5206;&#x6790;&#x6D41;&#x7A0B;&#x751F;&#x6210;&#x5F88;&#x591A; <code>Token</code>&#xFF0C;&#x4F7F;&#x5F97; <code>Doc Values</code>&#x4E0D;&#x80FD;&#x9AD8;&#x6548;&#x8FD0;&#x884C;&#x3002;&#x6211;&#x4EEC;&#x5C06;&#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/aggregations-and-analysis.html" target="_blank">&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;</a> &#x8BA8;&#x8BBA;&#x5982;&#x4F55;&#x4F7F;&#x7528;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x7C7B;&#x578B;&#x6765;&#x505A;&#x805A;&#x5408;&#x3002;</p>
<p>&#x56E0;&#x4E3A; <code>Doc Values</code> &#x9ED8;&#x8BA4;&#x542F;&#x7528;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x9009;&#x62E9;&#x5BF9;&#x4F60;&#x6570;&#x636E;&#x96C6;&#x91CC;&#x9762;&#x7684;&#x5927;&#x591A;&#x6570;&#x5B57;&#x6BB5;&#x8FDB;&#x884C;&#x805A;&#x5408;&#x548C;&#x6392;&#x5E8F;&#x64CD;&#x4F5C;&#x3002;&#x4F46;&#x662F;&#x5982;&#x679C;&#x4F60;&#x77E5;&#x9053;&#x4F60;&#x6C38;&#x8FDC;&#x4E5F;&#x4E0D;&#x4F1A;&#x5BF9;&#x67D0;&#x4E9B;&#x5B57;&#x6BB5;&#x8FDB;&#x884C;&#x805A;&#x5408;&#x3001;&#x6392;&#x5E8F;&#x6216;&#x662F;&#x4F7F;&#x7528;&#x811A;&#x672C;&#x64CD;&#x4F5C;&#xFF1F; &#x5C3D;&#x7BA1;&#x8FD9;&#x5E76;&#x4E0D;&#x5E38;&#x89C1;&#xFF0C;&#x4F46;&#x662F;&#x4F60;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x7981;&#x7528;&#x7279;&#x5B9A;&#x5B57;&#x6BB5;&#x7684; <code>Doc Values</code> &#x3002;&#x8FD9;&#x6837;&#x4E0D;&#x4EC5;&#x8282;&#x7701;&#x78C1;&#x76D8;&#x7A7A;&#x95F4;&#xFF0C;&#x4E5F;&#x8BB8;&#x4F1A;&#x63D0;&#x5347;&#x7D22;&#x5F15;&#x7684;&#x901F;&#x5EA6;&#x3002;</p>
<p>&#x8981;&#x7981;&#x7528; <code>Doc Values</code> &#xFF0C;&#x5728;&#x5B57;&#x6BB5;&#x7684;&#x6620;&#x5C04;&#xFF08;mapping&#xFF09;&#x8BBE;&#x7F6E; <code>doc_values: false</code> &#x5373;&#x53EF;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x8FD9;&#x91CC;&#x6211;&#x4EEC;&#x521B;&#x5EFA;&#x4E86;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x7D22;&#x5F15;&#xFF0C;&#x5B57;&#x6BB5; <code>&quot;session_id&quot;</code> &#x7981;&#x7528;&#x4E86; <code>Doc Values</code>&#xFF1A;</p>
<pre><code class="lang-js">PUT my_index
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;my_type&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;session_id&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;index&quot;</span>:      <span class="hljs-string">&quot;not_analyzed&quot;</span>,
          <span class="hljs-string">&quot;doc_values&quot;</span>: <span class="hljs-literal">false</span>                  &lt;<span class="hljs-number">1</span>&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x901A;&#x8FC7;&#x8BBE;&#x7F6E; <code>doc_values: false</code> &#xFF0C;&#x8FD9;&#x4E2A;&#x5B57;&#x6BB5;&#x5C06;&#x4E0D;&#x80FD;&#x88AB;&#x7528;&#x4E8E;&#x805A;&#x5408;&#x3001;&#x6392;&#x5E8F;&#x4EE5;&#x53CA;&#x811A;&#x672C;&#x64CD;&#x4F5C;   </p>
</blockquote>
<p>&#x53CD;&#x8FC7;&#x6765;&#x4E5F;&#x662F;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x914D;&#x7F6E;&#x7684;&#xFF1A;&#x8BA9;&#x4E00;&#x4E2A;&#x5B57;&#x6BB5;&#x53EF;&#x4EE5;&#x88AB;&#x805A;&#x5408;&#xFF0C;&#x901A;&#x8FC7;&#x7981;&#x7528;&#x5012;&#x6392;&#x7D22;&#x5F15;&#xFF0C;&#x4F7F;&#x5B83;&#x4E0D;&#x80FD;&#x88AB;&#x6B63;&#x5E38;&#x641C;&#x7D22;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;</p>
<pre><code class="lang-js">PUT my_index
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;my_type&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;customer_token&quot;</span>: {
          <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;index&quot;</span>:      <span class="hljs-string">&quot;not_analyzed&quot;</span>,
          <span class="hljs-string">&quot;doc_values&quot;</span>: <span class="hljs-literal">true</span>,              &lt;1&gt;
          &quot;index&quot;: &quot;no&quot;                    &lt;2&gt;
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>Doc Values</code> &#x88AB;&#x542F;&#x7528;&#x6765;&#x5141;&#x8BB8;&#x805A;&#x5408;   </p>
<p> <img src="assets/2.png" alt="img">  &#x7D22;&#x5F15;&#x88AB;&#x7981;&#x7528;&#x4E86;&#xFF0C;&#x8FD9;&#x8BA9;&#x8BE5;&#x5B57;&#x6BB5;&#x4E0D;&#x80FD;&#x88AB;&#x67E5;&#x8BE2;/&#x641C;&#x7D22;   </p>
</blockquote>
<p>&#x901A;&#x8FC7;&#x8BBE;&#x7F6E; <code>doc_values: true</code> &#x548C; <code>index: no</code> &#xFF0C;&#x6211;&#x4EEC;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x53EA;&#x80FD;&#x88AB;&#x7528;&#x4E8E;&#x805A;&#x5408;/&#x6392;&#x5E8F;/&#x811A;&#x672C;&#x7684;&#x5B57;&#x6BB5;&#x3002;&#x65E0;&#x53EF;&#x5426;&#x8BA4;&#xFF0C;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x975E;&#x5E38;&#x5C11;&#x89C1;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x4F46;&#x6709;&#x65F6;&#x5F88;&#x6709;&#x7528;&#x3002;</p>
<h3 id="&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;"><a name="&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;" class="anchor-navigation-ex-anchor" href="#&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x805A;&#x5408;&#x4E0E;&#x5206;&#x6790;</h3>
<p>&#x6709;&#x4E9B;&#x805A;&#x5408;&#xFF0C;&#x6BD4;&#x5982; <code>terms</code> &#x6876;&#xFF0C; &#x64CD;&#x4F5C;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x3002;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x53EF;&#x80FD;&#x662F; <code>analyzed</code> &#x6216;&#x8005; <code>not_analyzed</code> &#xFF0C; &#x90A3;&#x4E48;&#x95EE;&#x9898;&#x6765;&#x4E86;&#xFF0C;&#x5206;&#x6790;&#x662F;&#x600E;&#x4E48;&#x5F71;&#x54CD;&#x805A;&#x5408;&#x7684;&#x5462;&#xFF1F;</p>
<p>&#x7B54;&#x6848;&#x662F;&#x5F71;&#x54CD;&#x201C;&#x5F88;&#x591A;&#x201D;&#xFF0C;&#x6709;&#x4E24;&#x4E2A;&#x539F;&#x56E0;&#xFF1A;&#x5206;&#x6790;&#x5F71;&#x54CD;&#x805A;&#x5408;&#x4E2D;&#x4F7F;&#x7528;&#x7684; tokens &#xFF0C;&#x5E76;&#x4E14; doc values <em>&#x4E0D;&#x80FD;&#x4F7F;&#x7528;&#x4E8E;</em> &#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#x3002;</p>
<p>&#x8BA9;&#x6211;&#x4EEC;&#x89E3;&#x51B3;&#x7B2C;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#xFF1A;&#x5206;&#x6790; tokens &#x7684;&#x4EA7;&#x751F;&#x5982;&#x4F55;&#x5F71;&#x54CD;&#x805A;&#x5408;&#x3002;&#x9996;&#x5148;&#x7D22;&#x5F15;&#x4E00;&#x4E9B;&#x4EE3;&#x8868;&#x7F8E;&#x56FD;&#x5404;&#x4E2A;&#x5DDE;&#x7684;&#x6587;&#x6863;&#xFF1A;</p>
<pre><code class="lang-js">POST /agg_analysis/data/_bulk
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New York&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New Jersey&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New Mexico&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New York&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New York&quot;</span> }
</code></pre>
<p>&#x6211;&#x4EEC;&#x5E0C;&#x671B;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x6570;&#x636E;&#x96C6;&#x91CC;&#x5404;&#x4E2A;&#x5DDE;&#x7684;&#x552F;&#x4E00;&#x5217;&#x8868;&#xFF0C;&#x5E76;&#x4E14;&#x8BA1;&#x6570;&#x3002; &#x7B80;&#x5355;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x4F7F;&#x7528; <code>terms</code> &#x6876;&#xFF1A;</p>
<pre><code class="lang-js">GET /agg_analysis/data/_search
{
    <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
    <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;states&quot;</span> : {
            <span class="hljs-string">&quot;terms&quot;</span> : {
                <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;state&quot;</span>
            }
        }
    }
}
</code></pre>
<p>&#x5F97;&#x5230;&#x7ED3;&#x679C;&#xFF1A;</p>
<pre><code class="lang-js">{
...
   <span class="hljs-string">&quot;aggregations&quot;</span>: {
      <span class="hljs-string">&quot;states&quot;</span>: {
         <span class="hljs-string">&quot;buckets&quot;</span>: [
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;new&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">5</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;york&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">3</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;jersey&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">1</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;mexico&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">1</span>
            }
         ]
      }
   }
}
</code></pre>
<p>&#x5B9D;&#x8D1D;&#x513F;&#xFF0C;&#x8FD9;&#x5B8C;&#x5168;&#x4E0D;&#x662F;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x7684;&#xFF01;&#x6CA1;&#x6709;&#x5BF9;&#x5DDE;&#x540D;&#x8BA1;&#x6570;&#xFF0C;&#x805A;&#x5408;&#x8BA1;&#x7B97;&#x4E86;&#x6BCF;&#x4E2A;&#x8BCD;&#x7684;&#x6570;&#x76EE;&#x3002;&#x80CC;&#x540E;&#x7684;&#x539F;&#x56E0;&#x5F88;&#x7B80;&#x5355;&#xFF1A;&#x805A;&#x5408;&#x662F;&#x57FA;&#x4E8E;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x521B;&#x5EFA;&#x7684;&#xFF0C;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x662F; &#x540E;&#x7F6E;&#x5206;&#x6790;&#xFF08; <em>post-analysis</em> &#xFF09;&#x7684;&#x3002;</p>
<p>&#x5F53;&#x6211;&#x4EEC;&#x628A;&#x8FD9;&#x4E9B;&#x6587;&#x6863;&#x52A0;&#x5165;&#x5230; Elasticsearch &#x4E2D;&#x65F6;&#xFF0C;&#x5B57;&#x7B26;&#x4E32; <code>&quot;New York&quot;</code> &#x88AB;&#x5206;&#x6790;/&#x5206;&#x6790;&#x6210; <code>[&quot;new&quot;, &quot;york&quot;]</code> &#x3002;&#x8FD9;&#x4E9B;&#x5355;&#x72EC;&#x7684; tokens &#xFF0C;&#x90FD;&#x88AB;&#x7528;&#x6765;&#x586B;&#x5145;&#x805A;&#x5408;&#x8BA1;&#x6570;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x6700;&#x7EC8;&#x770B;&#x5230; <code>new</code> &#x7684;&#x6570;&#x91CF;&#x800C;&#x4E0D;&#x662F; <code>New York</code> &#x3002;</p>
<p>&#x8FD9;&#x663E;&#x7136;&#x4E0D;&#x662F;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x7684;&#x884C;&#x4E3A;&#xFF0C;&#x4F46;&#x5E78;&#x8FD0;&#x7684;&#x662F;&#x5F88;&#x5BB9;&#x6613;&#x4FEE;&#x6B63;&#x5B83;&#x3002;</p>
<p>&#x6211;&#x4EEC;&#x9700;&#x8981;&#x4E3A; <code>state</code> &#x5B9A;&#x4E49; multifield &#x5E76;&#x4E14;&#x8BBE;&#x7F6E;&#x6210; <code>not_analyzed</code> &#x3002;&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x9632;&#x6B62; <code>New York</code> &#x88AB;&#x5206;&#x6790;&#xFF0C;&#x4E5F;&#x610F;&#x5473;&#x7740;&#x5728;&#x805A;&#x5408;&#x8FC7;&#x7A0B;&#x4E2D;&#x5B83;&#x4F1A;&#x4EE5;&#x5355;&#x4E2A; token &#x7684;&#x5F62;&#x5F0F;&#x5B58;&#x5728;&#x3002;&#x8BA9;&#x6211;&#x4EEC;&#x5C1D;&#x8BD5;&#x5B8C;&#x6574;&#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x4F46;&#x8FD9;&#x6B21;&#x6307;&#x5B9A;&#x4E00;&#x4E2A; <em>raw</em> multifield&#xFF1A;</p>
<pre><code class="lang-js">DELETE /agg_analysis/
PUT /agg_analysis
{
  <span class="hljs-string">&quot;mappings&quot;</span>: {
    <span class="hljs-string">&quot;data&quot;</span>: {
      <span class="hljs-string">&quot;properties&quot;</span>: {
        <span class="hljs-string">&quot;state&quot;</span> : {
          <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
          <span class="hljs-string">&quot;fields&quot;</span>: {
            <span class="hljs-string">&quot;raw&quot;</span> : {
              <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
              <span class="hljs-string">&quot;index&quot;</span>: <span class="hljs-string">&quot;not_analyzed&quot;</span>       &lt;<span class="hljs-number">1</span>&gt;
            }
          }
        }
      }
    }
  }
}

POST /agg_analysis/data/_bulk
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New York&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New Jersey&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New Mexico&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New York&quot;</span> }
{ <span class="hljs-string">&quot;index&quot;</span>: {}}
{ <span class="hljs-string">&quot;state&quot;</span> : <span class="hljs-string">&quot;New York&quot;</span> }

GET /agg_analysis/data/_search
{
  <span class="hljs-string">&quot;size&quot;</span> : <span class="hljs-number">0</span>,
  <span class="hljs-string">&quot;aggs&quot;</span> : {
    <span class="hljs-string">&quot;states&quot;</span> : {
        <span class="hljs-string">&quot;terms&quot;</span> : {
            <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;state.raw&quot;</span>           &lt;<span class="hljs-number">2</span>&gt;
        }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD9;&#x6B21;&#x6211;&#x4EEC;&#x663E;&#x5F0F;&#x6620;&#x5C04; <code>state</code> &#x5B57;&#x6BB5;&#x5E76;&#x5305;&#x62EC;&#x4E00;&#x4E2A; <code>not_analyzed</code> &#x8F85;&#x5B57;&#x6BB5;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x805A;&#x5408;&#x9488;&#x5BF9; <code>state.raw</code> &#x5B57;&#x6BB5;&#x800C;&#x4E0D;&#x662F; <code>state</code> &#x3002;       </p>
</blockquote>
<p>&#x73B0;&#x5728;&#x8FD0;&#x884C;&#x805A;&#x5408;&#xFF0C;&#x6211;&#x4EEC;&#x5F97;&#x5230;&#x4E86;&#x5408;&#x7406;&#x7684;&#x7ED3;&#x679C;&#xFF1A;</p>
<pre><code class="lang-js">{
...
   <span class="hljs-string">&quot;aggregations&quot;</span>: {
      <span class="hljs-string">&quot;states&quot;</span>: {
         <span class="hljs-string">&quot;buckets&quot;</span>: [
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;New York&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">3</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;New Jersey&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">1</span>
            },
            {
               <span class="hljs-string">&quot;key&quot;</span>: <span class="hljs-string">&quot;New Mexico&quot;</span>,
               <span class="hljs-string">&quot;doc_count&quot;</span>: <span class="hljs-number">1</span>
            }
         ]
      }
   }
}
</code></pre>
<p>&#x5728;&#x5B9E;&#x9645;&#x4E2D;&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x95EE;&#x9898;&#x5F88;&#x5BB9;&#x6613;&#x88AB;&#x5BDF;&#x89C9;&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x805A;&#x5408;&#x4F1A;&#x8FD4;&#x56DE;&#x4E00;&#x4E9B;&#x5947;&#x602A;&#x7684;&#x6876;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x8BB0;&#x4F4F;&#x5206;&#x6790;&#x7684;&#x95EE;&#x9898;&#x3002; &#x603B;&#x4E4B;&#xFF0C;&#x5F88;&#x5C11;&#x6709;&#x5728;&#x805A;&#x5408;&#x4E2D;&#x4F7F;&#x7528;&#x5206;&#x6790;&#x5B57;&#x6BB5;&#x7684;&#x5B9E;&#x4F8B;&#x3002;&#x5F53;&#x6211;&#x4EEC;&#x7591;&#x60D1;&#x65F6;&#xFF0C;&#x53EA;&#x8981;&#x589E;&#x52A0;&#x4E00;&#x4E2A; multifield &#x5C31;&#x80FD;&#x6709;&#x4E24;&#x79CD;&#x9009;&#x62E9;&#x3002;</p>
<p><strong>&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#x548C; Fielddata&#xFF08;Analyzed strings and Fielddata&#xFF09;</strong></p>
<p>&#x5F53;&#x7B2C;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#x6D89;&#x53CA;&#x5982;&#x4F55;&#x805A;&#x5408;&#x6570;&#x636E;&#x5E76;&#x663E;&#x793A;&#x7ED9;&#x7528;&#x6237;&#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x95EE;&#x9898;&#x4E3B;&#x8981;&#x662F;&#x6280;&#x672F;&#x548C;&#x5E55;&#x540E;&#x3002;</p>
<p>Doc values &#x4E0D;&#x652F;&#x6301; <code>analyzed</code> &#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x4EEC;&#x4E0D;&#x80FD;&#x5F88;&#x6709;&#x6548;&#x7684;&#x8868;&#x793A;&#x591A;&#x503C;&#x5B57;&#x7B26;&#x4E32;&#x3002; Doc values &#x6700;&#x6709;&#x6548;&#x7684;&#x662F;&#xFF0C;&#x5F53;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x90FD;&#x6709;&#x4E00;&#x4E2A;&#x6216;&#x51E0;&#x4E2A; tokens &#x65F6;&#xFF0C; &#x4F46;&#x4E0D;&#x662F;&#x65E0;&#x6570;&#x7684;&#xFF0C;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#xFF08;&#x60F3;&#x8C61;&#x4E00;&#x4E2A; PDF &#xFF0C;&#x53EF;&#x80FD;&#x6709;&#x51E0;&#x5146;&#x5B57;&#x8282;&#x5E76;&#x6709;&#x6570;&#x4EE5;&#x5343;&#x8BA1;&#x7684;&#x72EC;&#x7279; tokens&#xFF09;&#x3002;</p>
<p>&#x51FA;&#x4E8E;&#x8FD9;&#x4E2A;&#x539F;&#x56E0;&#xFF0C;doc values &#x4E0D;&#x751F;&#x6210;&#x5206;&#x6790;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x7136;&#x800C;&#xFF0C;&#x8FD9;&#x4E9B;&#x5B57;&#x6BB5;&#x4ECD;&#x7136;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x805A;&#x5408;&#xFF0C;&#x90A3;&#x600E;&#x4E48;&#x53EF;&#x80FD;&#x5462;&#xFF1F;</p>
<p>&#x7B54;&#x6848;&#x662F;&#x4E00;&#x79CD;&#x88AB;&#x79F0;&#x4E3A; <em>fielddata</em> &#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;&#x4E0E; doc values &#x4E0D;&#x540C;&#xFF0C;fielddata &#x6784;&#x5EFA;&#x548C;&#x7BA1;&#x7406; 100% &#x5728;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;&#x5E38;&#x9A7B;&#x4E8E; JVM &#x5185;&#x5B58;&#x5806;&#x3002;&#x8FD9;&#x610F;&#x5473;&#x7740;&#x5B83;&#x672C;&#x8D28;&#x4E0A;&#x662F;&#x4E0D;&#x53EF;&#x6269;&#x5C55;&#x7684;&#xFF0C;&#x6709;&#x5F88;&#x591A;&#x8FB9;&#x7F18;&#x60C5;&#x51B5;&#x4E0B;&#x8981;&#x63D0;&#x9632;&#x3002; &#x672C;&#x7AE0;&#x7684;&#x5176;&#x4F59;&#x90E8;&#x5206;&#x662F;&#x89E3;&#x51B3;&#x5728;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#x4E0A;&#x4E0B;&#x6587;&#x4E2D; fielddata &#x7684;&#x6311;&#x6218;&#x3002;</p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x4ECE;&#x5386;&#x53F2;&#x4E0A;&#x770B;&#xFF0C;fielddata &#x662F; <em>&#x6240;&#x6709;</em> &#x5B57;&#x6BB5;&#x7684;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x3002;&#x4F46;&#x662F; Elasticsearch &#x5DF2;&#x8FC1;&#x79FB;&#x5230; doc values &#x4EE5;&#x51CF;&#x5C11; OOM &#x7684;&#x51E0;&#x7387;&#x3002;&#x5206;&#x6790;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x662F;&#x4ECD;&#x7136;&#x4F7F;&#x7528; fielddata &#x7684;&#x6700;&#x540E;&#x4E00;&#x5757;&#x9635;&#x5730;&#x3002; &#x6700;&#x7EC8;&#x76EE;&#x6807;&#x662F;&#x5EFA;&#x7ACB;&#x4E00;&#x4E2A;&#x5E8F;&#x5217;&#x5316;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x7C7B;&#x4F3C;&#x4E8E; doc values &#xFF0C;&#x53EF;&#x4EE5;&#x5904;&#x7406;&#x9AD8;&#x7EF4;&#x5EA6;&#x7684;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x9010;&#x6B65;&#x6DD8;&#x6C70; fielddata&#x3002;</p>
</blockquote>
<p><strong>&#x9AD8;&#x57FA;&#x6570;&#x5185;&#x5B58;&#x7684;&#x5F71;&#x54CD;&#xFF08;High-Cardinality Memory Implications&#xFF09;</strong></p>
<p>&#x907F;&#x514D;&#x5206;&#x6790;&#x5B57;&#x6BB5;&#x7684;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x539F;&#x56E0;&#x5C31;&#x662F;&#xFF1A;&#x9AD8;&#x57FA;&#x6570;&#x5B57;&#x6BB5;&#x5728;&#x52A0;&#x8F7D;&#x5230; fielddata &#x65F6;&#x4F1A;&#x6D88;&#x8017;&#x5927;&#x91CF;&#x5185;&#x5B58;&#x3002; &#x5206;&#x6790;&#x7684;&#x8FC7;&#x7A0B;&#x4F1A;&#x7ECF;&#x5E38;&#xFF08;&#x5C3D;&#x7BA1;&#x4E0D;&#x603B;&#x662F;&#x8FD9;&#x6837;&#xFF09;&#x751F;&#x6210;&#x5927;&#x91CF;&#x7684; token&#xFF0C;&#x8FD9;&#x4E9B; token &#x5927;&#x591A;&#x90FD;&#x662F;&#x552F;&#x4E00;&#x7684;&#x3002; &#x8FD9;&#x4F1A;&#x589E;&#x52A0;&#x5B57;&#x6BB5;&#x7684;&#x6574;&#x4F53;&#x57FA;&#x6570;&#x5E76;&#x4E14;&#x5E26;&#x6765;&#x66F4;&#x5927;&#x7684;&#x5185;&#x5B58;&#x538B;&#x529B;&#x3002;</p>
<p>&#x6709;&#x4E9B;&#x7C7B;&#x578B;&#x7684;&#x5206;&#x6790;&#x5BF9;&#x4E8E;&#x5185;&#x5B58;&#x6765;&#x8BF4; <em>&#x6781;&#x5EA6;</em> &#x4E0D;&#x53CB;&#x597D;&#xFF0C;&#x60F3;&#x60F3; n-gram &#x7684;&#x5206;&#x6790;&#x8FC7;&#x7A0B;&#xFF0C; <code>New York</code> &#x4F1A;&#x88AB; n-gram &#x5206;&#x6790;&#x6210;&#x4EE5;&#x4E0B; token&#xFF1A;</p>
<ul>
<li><code>ne</code></li>
<li><code>ew</code></li>
<li><code>w</code></li>
<li><code>y</code></li>
<li><code>yo</code></li>
<li><code>or</code></li>
<li><code>rk</code></li>
</ul>
<p>&#x53EF;&#x4EE5;&#x60F3;&#x8C61; n-gram &#x7684;&#x8FC7;&#x7A0B;&#x662F;&#x5982;&#x4F55;&#x751F;&#x6210;&#x5927;&#x91CF;&#x552F;&#x4E00; token &#x7684;&#xFF0C;&#x7279;&#x522B;&#x662F;&#x5728;&#x5206;&#x6790;&#x6210;&#x6BB5;&#x6587;&#x672C;&#x7684;&#x65F6;&#x5019;&#x3002;&#x5F53;&#x8FD9;&#x4E9B;&#x6570;&#x636E;&#x52A0;&#x8F7D;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;&#x4F1A;&#x8F7B;&#x800C;&#x6613;&#x4E3E;&#x7684;&#x5C06;&#x6211;&#x4EEC;&#x5806;&#x7A7A;&#x95F4;&#x6D88;&#x8017;&#x6B86;&#x5C3D;&#x3002;</p>
<p>&#x56E0;&#x6B64;&#xFF0C;&#x5728;&#x805A;&#x5408;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x4E4B;&#x524D;&#xFF0C;&#x8BF7;&#x8BC4;&#x4F30;&#x60C5;&#x51B5;&#xFF1A;</p>
<ul>
<li>&#x8FD9;&#x662F;&#x4E00;&#x4E2A; <code>not_analyzed</code> &#x5B57;&#x6BB5;&#x5417;&#xFF1F;&#x5982;&#x679C;&#x662F;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; doc values &#x8282;&#x7701;&#x5185;&#x5B58; &#x3002;</li>
<li>&#x5426;&#x5219;&#xFF0C;&#x8FD9;&#x662F;&#x4E00;&#x4E2A; <code>analyzed</code> &#x5B57;&#x6BB5;&#xFF0C;&#x5B83;&#x5C06;&#x4F7F;&#x7528; fielddata &#x5E76;&#x52A0;&#x8F7D;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#x3002;&#x8FD9;&#x4E2A;&#x5B57;&#x6BB5;&#x56E0;&#x4E3A; ngrams &#x6709;&#x4E00;&#x4E2A;&#x975E;&#x5E38;&#x5927;&#x7684;&#x57FA;&#x6570;&#xFF1F;&#x5982;&#x679C;&#x662F;&#xFF0C;&#x8FD9;&#x5BF9;&#x4E8E;&#x5185;&#x5B58;&#x6765;&#x8BF4;&#x6781;&#x5EA6;&#x4E0D;&#x53CB;&#x597D;&#x3002;</li>
</ul>
<h3 id="&#x9650;&#x5236;&#x5185;&#x5B58;&#x4F7F;&#x7528;"><a name="&#x9650;&#x5236;&#x5185;&#x5B58;&#x4F7F;&#x7528;" class="anchor-navigation-ex-anchor" href="#&#x9650;&#x5236;&#x5185;&#x5B58;&#x4F7F;&#x7528;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x9650;&#x5236;&#x5185;&#x5B58;&#x4F7F;&#x7528;</h3>
<p>&#x4E00;&#x65E6;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#x88AB;&#x52A0;&#x8F7D;&#x5230; fielddata &#xFF0C;&#x4ED6;&#x4EEC;&#x4F1A;&#x4E00;&#x76F4;&#x5728;&#x90A3;&#x91CC;&#xFF0C;&#x76F4;&#x5230;&#x88AB;&#x9A71;&#x9010;&#xFF08;&#x6216;&#x8005;&#x8282;&#x70B9;&#x5D29;&#x6E83;&#xFF09;&#x3002;&#x7531;&#x4E8E;&#x8FD9;&#x4E2A;&#x539F;&#x56E0;&#xFF0C;&#x7559;&#x610F;&#x5185;&#x5B58;&#x7684;&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#xFF0C;&#x4E86;&#x89E3;&#x5B83;&#x662F;&#x5982;&#x4F55;&#x4EE5;&#x53CA;&#x4F55;&#x65F6;&#x52A0;&#x8F7D;&#x7684;&#xFF0C;&#x600E;&#x6837;&#x9650;&#x5236;&#x5BF9;&#x96C6;&#x7FA4;&#x7684;&#x5F71;&#x54CD;&#x662F;&#x5F88;&#x91CD;&#x8981;&#x7684;&#x3002;</p>
<p>Fielddata &#x662F; <em>&#x5EF6;&#x8FDF;</em> &#x52A0;&#x8F7D;&#x3002;&#x5982;&#x679C;&#x4F60;&#x4ECE;&#x6765;&#x6CA1;&#x6709;&#x805A;&#x5408;&#x4E00;&#x4E2A;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x5C31;&#x4E0D;&#x4F1A;&#x52A0;&#x8F7D; fielddata &#x5230;&#x5185;&#x5B58;&#x4E2D;&#x3002;&#x6B64;&#x5916;&#xFF0C;fielddata &#x662F;&#x57FA;&#x4E8E;&#x5B57;&#x6BB5;&#x52A0;&#x8F7D;&#x7684;&#xFF0C; &#x8FD9;&#x610F;&#x5473;&#x7740;&#x53EA;&#x6709;&#x5F88;&#x6D3B;&#x8DC3;&#x5730;&#x4F7F;&#x7528;&#x5B57;&#x6BB5;&#x624D;&#x4F1A;&#x589E;&#x52A0; fielddata &#x7684;&#x8D1F;&#x62C5;&#x3002;</p>
<p>&#x7136;&#x800C;&#xFF0C;&#x8FD9;&#x91CC;&#x6709;&#x4E00;&#x4E2A;&#x4EE4;&#x4EBA;&#x60CA;&#x8BB6;&#x7684;&#x5730;&#x65B9;&#x3002;&#x5047;&#x8BBE;&#x4F60;&#x7684;&#x67E5;&#x8BE2;&#x662F;&#x9AD8;&#x5EA6;&#x9009;&#x62E9;&#x6027;&#x548C;&#x53EA;&#x8FD4;&#x56DE;&#x547D;&#x4E2D;&#x7684; 100 &#x4E2A;&#x7ED3;&#x679C;&#x3002;&#x5927;&#x591A;&#x6570;&#x4EBA;&#x8BA4;&#x4E3A; fielddata &#x53EA;&#x52A0;&#x8F7D; 100 &#x4E2A;&#x6587;&#x6863;&#x3002;</p>
<p>&#x5B9E;&#x9645;&#x60C5;&#x51B5;&#x662F;&#xFF0C;fielddata &#x4F1A;&#x52A0;&#x8F7D;&#x7D22;&#x5F15;&#x4E2D;&#xFF08;&#x9488;&#x5BF9;&#x8BE5;&#x7279;&#x5B9A;&#x5B57;&#x6BB5;&#x7684;&#xFF09; <strong>&#x6240;&#x6709;&#x7684;</strong> &#x6587;&#x6863;&#xFF0C;&#x800C;&#x4E0D;&#x7BA1;&#x67E5;&#x8BE2;&#x7684;&#x7279;&#x5F02;&#x6027;&#x3002;&#x903B;&#x8F91;&#x662F;&#x8FD9;&#x6837;&#xFF1A;&#x5982;&#x679C;&#x67E5;&#x8BE2;&#x4F1A;&#x8BBF;&#x95EE;&#x6587;&#x6863; X&#x3001;Y &#x548C; Z&#xFF0C;&#x90A3;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x4F1A;&#x5728;&#x4E0B;&#x4E00;&#x4E2A;&#x67E5;&#x8BE2;&#x4E2D;&#x8BBF;&#x95EE;&#x5176;&#x4ED6;&#x6587;&#x6863;&#x3002;</p>
<p>&#x4E0E; doc values &#x4E0D;&#x540C;&#xFF0C;fielddata &#x7ED3;&#x6784;&#x4E0D;&#x4F1A;&#x5728;&#x7D22;&#x5F15;&#x65F6;&#x521B;&#x5EFA;&#x3002;&#x76F8;&#x53CD;&#xFF0C;&#x5B83;&#x662F;&#x5728;&#x67E5;&#x8BE2;&#x8FD0;&#x884C;&#x65F6;&#xFF0C;&#x52A8;&#x6001;&#x586B;&#x5145;&#x3002;&#x8FD9;&#x53EF;&#x80FD;&#x662F;&#x4E00;&#x4E2A;&#x6BD4;&#x8F83;&#x590D;&#x6742;&#x7684;&#x64CD;&#x4F5C;&#xFF0C;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x4E00;&#x4E9B;&#x65F6;&#x95F4;&#x3002; &#x5C06;&#x6240;&#x6709;&#x7684;&#x4FE1;&#x606F;&#x4E00;&#x6B21;&#x52A0;&#x8F7D;&#xFF0C;&#x518D;&#x5C06;&#x5176;&#x7EF4;&#x6301;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x7684;&#x65B9;&#x5F0F;&#x8981;&#x6BD4;&#x53CD;&#x590D;&#x53EA;&#x52A0;&#x8F7D;&#x4E00;&#x4E2A; fielddata &#x7684;&#x90E8;&#x5206;&#x4EE3;&#x4EF7;&#x8981;&#x4F4E;&#x3002;</p>
<p>JVM &#x5806; &#x662F;&#x6709;&#x9650;&#x8D44;&#x6E90;&#x7684;&#xFF0C;&#x5E94;&#x8BE5;&#x88AB;&#x5408;&#x7406;&#x5229;&#x7528;&#x3002; &#x9650;&#x5236; fielddata &#x5BF9;&#x5806;&#x4F7F;&#x7528;&#x7684;&#x5F71;&#x54CD;&#x6709;&#x591A;&#x5957;&#x673A;&#x5236;&#xFF0C;&#x8FD9;&#x4E9B;&#x9650;&#x5236;&#x65B9;&#x5F0F;&#x975E;&#x5E38;&#x91CD;&#x8981;&#xFF0C;&#x56E0;&#x4E3A;&#x5806;&#x6808;&#x7684;&#x4E71;&#x7528;&#x4F1A;&#x5BFC;&#x81F4;&#x8282;&#x70B9;&#x4E0D;&#x7A33;&#x5B9A;&#xFF08;&#x611F;&#x8C22;&#x7F13;&#x6162;&#x7684;&#x5783;&#x573E;&#x56DE;&#x6536;&#x673A;&#x5236;&#xFF09;&#xFF0C;&#x751A;&#x81F3;&#x5BFC;&#x81F4;&#x8282;&#x70B9;&#x5B95;&#x673A;&#xFF08;&#x901A;&#x5E38;&#x4F34;&#x968F; OutOfMemory &#x5F02;&#x5E38;&#xFF09;&#x3002;</p>
<hr>
<blockquote>
<p> <strong>&#x9009;&#x62E9;&#x5806;&#x5927;&#x5C0F;&#xFF08;Choosing a Heap Size&#xFF09;</strong></p>
<p> &#x5728;&#x8BBE;&#x7F6E; Elasticsearch &#x5806;&#x5927;&#x5C0F;&#x65F6;&#x9700;&#x8981;&#x901A;&#x8FC7; <code>$ES_HEAP_SIZE</code> &#x73AF;&#x5883;&#x53D8;&#x91CF;&#x5E94;&#x7528;&#x4E24;&#x4E2A;&#x89C4;&#x5219;&#xFF1A;</p>
<ul>
<li><p>&#x4E0D;&#x8981;&#x8D85;&#x8FC7;&#x53EF;&#x7528; RAM &#x7684; 50%</p>
<p>Lucene &#x80FD;&#x5F88;&#x597D;&#x5229;&#x7528;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x7684;&#x7F13;&#x5B58;&#xFF0C;&#x5B83;&#x662F;&#x901A;&#x8FC7;&#x7CFB;&#x7EDF;&#x5185;&#x6838;&#x7BA1;&#x7406;&#x7684;&#x3002;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x8DB3;&#x591F;&#x7684;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x7F13;&#x5B58;&#x7A7A;&#x95F4;&#xFF0C;&#x6027;&#x80FD;&#x4F1A;&#x53D7;&#x5230;&#x5F71;&#x54CD;&#x3002; &#x6B64;&#x5916;&#xFF0C;&#x4E13;&#x7528;&#x4E8E;&#x5806;&#x7684;&#x5185;&#x5B58;&#x8D8A;&#x591A;&#x610F;&#x5473;&#x7740;&#x5176;&#x4ED6;&#x6240;&#x6709;&#x4F7F;&#x7528; doc values &#x7684;&#x5B57;&#x6BB5;&#x5185;&#x5B58;&#x8D8A;&#x5C11;&#x3002;</p>
</li>
<li><p>&#x4E0D;&#x8981;&#x8D85;&#x8FC7; 32 GB</p>
<p>&#x5982;&#x679C;&#x5806;&#x5927;&#x5C0F;&#x5C0F;&#x4E8E; 32 GB&#xFF0C;JVM &#x53EF;&#x4EE5;&#x5229;&#x7528;&#x6307;&#x9488;&#x538B;&#x7F29;&#xFF0C;&#x8FD9;&#x53EF;&#x4EE5;&#x5927;&#x5927;&#x964D;&#x4F4E;&#x5185;&#x5B58;&#x7684;&#x4F7F;&#x7528;&#xFF1A;&#x6BCF;&#x4E2A;&#x6307;&#x9488; 4 &#x5B57;&#x8282;&#x800C;&#x4E0D;&#x662F; 8 &#x5B57;&#x8282;&#x3002;</p>
<p>&#x66F4;&#x8BE6;&#x7EC6;&#x548C;&#x66F4;&#x5B8C;&#x6574;&#x7684;&#x5806;&#x5927;&#x5C0F;&#x8BA8;&#x8BBA;&#xFF0C;&#x8BF7;&#x53C2;&#x9605; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html" target="_blank">&#x5806;&#x5185;&#x5B58;:&#x5927;&#x5C0F;&#x548C;&#x4EA4;&#x6362;</a></p>
</li>
</ul>
<hr>
</blockquote>
<p><strong>Fielddata&#x7684;&#x5927;&#x5C0F;</strong></p>
<p><code>indices.fielddata.cache.size</code> &#x63A7;&#x5236;&#x4E3A; fielddata &#x5206;&#x914D;&#x7684;&#x5806;&#x7A7A;&#x95F4;&#x5927;&#x5C0F;&#x3002; &#x5F53;&#x4F60;&#x53D1;&#x8D77;&#x4E00;&#x4E2A;&#x67E5;&#x8BE2;&#xFF0C;&#x5206;&#x6790;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x805A;&#x5408;&#x5C06;&#x4F1A;&#x88AB;&#x52A0;&#x8F7D;&#x5230; fielddata&#xFF0C;&#x5982;&#x679C;&#x8FD9;&#x4E9B;&#x5B57;&#x7B26;&#x4E32;&#x4E4B;&#x524D;&#x6CA1;&#x6709;&#x88AB;&#x52A0;&#x8F7D;&#x8FC7;&#x3002;&#x5982;&#x679C;&#x7ED3;&#x679C;&#x4E2D; fielddata &#x5927;&#x5C0F;&#x8D85;&#x8FC7;&#x4E86;&#x6307;&#x5B9A; <code>&#x5927;&#x5C0F;</code> &#xFF0C;&#x5176;&#x4ED6;&#x7684;&#x503C;&#x5C06;&#x4F1A;&#x88AB;&#x56DE;&#x6536;&#x4ECE;&#x800C;&#x83B7;&#x5F97;&#x7A7A;&#x95F4;&#x3002;</p>
<p>&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x8BBE;&#x7F6E;&#x90FD;&#x662F; <em>unbounded</em> &#xFF0C;Elasticsearch &#x6C38;&#x8FDC;&#x90FD;&#x4E0D;&#x4F1A;&#x4ECE; fielddata &#x4E2D;&#x56DE;&#x6536;&#x6570;&#x636E;&#x3002;</p>
<p>&#x8FD9;&#x4E2A;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x662F;&#x523B;&#x610F;&#x9009;&#x62E9;&#x7684;&#xFF1A;fielddata &#x4E0D;&#x662F;&#x4E34;&#x65F6;&#x7F13;&#x5B58;&#x3002;&#x5B83;&#x662F;&#x9A7B;&#x7559;&#x5185;&#x5B58;&#x91CC;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x5FC5;&#x987B;&#x53EF;&#x4EE5;&#x5FEB;&#x901F;&#x6267;&#x884C;&#x8BBF;&#x95EE;&#xFF0C;&#x800C;&#x4E14;&#x6784;&#x5EFA;&#x5B83;&#x7684;&#x4EE3;&#x4EF7;&#x5341;&#x5206;&#x9AD8;&#x6602;&#x3002;&#x5982;&#x679C;&#x6BCF;&#x4E2A;&#x8BF7;&#x6C42;&#x90FD;&#x91CD;&#x8F7D;&#x6570;&#x636E;&#xFF0C;&#x6027;&#x80FD;&#x4F1A;&#x5341;&#x5206;&#x7CDF;&#x7CD5;&#x3002;</p>
<p>&#x4E00;&#x4E2A;&#x6709;&#x754C;&#x7684;&#x5927;&#x5C0F;&#x4F1A;&#x5F3A;&#x5236;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x56DE;&#x6536;&#x6570;&#x636E;&#x3002;&#x6211;&#x4EEC;&#x4F1A;&#x770B;&#x4F55;&#x65F6;&#x5E94;&#x8BE5;&#x8BBE;&#x7F6E;&#x8FD9;&#x4E2A;&#x503C;&#xFF0C;&#x4F46;&#x8BF7;&#x9996;&#x5148;&#x9605;&#x8BFB;&#x4EE5;&#x4E0B;&#x8B66;&#x544A;&#xFF1A;</p>
<blockquote>
<p> <img src="assets/warning.png" alt="&#x8B66;&#x544A;">  &#x8FD9;&#x4E2A;&#x8BBE;&#x7F6E;&#x662F;&#x4E00;&#x4E2A;&#x5B89;&#x5168;&#x536B;&#x58EB;&#xFF0C;&#x800C;&#x975E;&#x5185;&#x5B58;&#x4E0D;&#x8DB3;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x3002;</p>
<p> &#x5982;&#x679C;&#x6CA1;&#x6709;&#x8DB3;&#x591F;&#x7A7A;&#x95F4;&#x53EF;&#x4EE5;&#x5C06; fielddata &#x4FDD;&#x7559;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;Elasticsearch &#x5C31;&#x4F1A;&#x65F6;&#x523B;&#x4ECE;&#x78C1;&#x76D8;&#x91CD;&#x8F7D;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x56DE;&#x6536;&#x5176;&#x4ED6;&#x6570;&#x636E;&#x4EE5;&#x83B7;&#x5F97;&#x66F4;&#x591A;&#x7A7A;&#x95F4;&#x3002;&#x5185;&#x5B58;&#x7684;&#x56DE;&#x6536;&#x673A;&#x5236;&#x4F1A;&#x5BFC;&#x81F4;&#x91CD;&#x5EA6;&#x78C1;&#x76D8;I/O&#xFF0C;&#x5E76;&#x4E14;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x751F;&#x6210;&#x5F88;&#x591A;&#x5783;&#x573E;&#xFF0C;&#x8FD9;&#x4E9B;&#x5783;&#x573E;&#x5FC5;&#x987B;&#x5728;&#x665A;&#x4E9B;&#x65F6;&#x5019;&#x88AB;&#x56DE;&#x6536;&#x6389;&#x3002;  </p>
</blockquote>
<p>&#x8BBE;&#x60F3;&#x6211;&#x4EEC;&#x6B63;&#x5728;&#x5BF9;&#x65E5;&#x5FD7;&#x8FDB;&#x884C;&#x7D22;&#x5F15;&#xFF0C;&#x6BCF;&#x5929;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x7D22;&#x5F15;&#x3002;&#x901A;&#x5E38;&#x6211;&#x4EEC;&#x53EA;&#x5BF9;&#x8FC7;&#x53BB;&#x4E00;&#x4E24;&#x5929;&#x7684;&#x6570;&#x636E;&#x611F;&#x5174;&#x8DA3;&#xFF0C;&#x5C3D;&#x7BA1;&#x6211;&#x4EEC;&#x4F1A;&#x4FDD;&#x7559;&#x8001;&#x7684;&#x7D22;&#x5F15;&#xFF0C;&#x4F46;&#x6211;&#x4EEC;&#x5F88;&#x5C11;&#x9700;&#x8981;&#x67E5;&#x8BE2;&#x5B83;&#x4EEC;&#x3002;&#x4E0D;&#x8FC7;&#x5982;&#x679C;&#x91C7;&#x7528;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#xFF0C;&#x65E7;&#x7D22;&#x5F15;&#x7684; fielddata &#x6C38;&#x8FDC;&#x4E0D;&#x4F1A;&#x4ECE;&#x7F13;&#x5B58;&#x4E2D;&#x56DE;&#x6536;&#xFF01; fieldata &#x4F1A;&#x4FDD;&#x6301;&#x589E;&#x957F;&#x76F4;&#x5230; fielddata &#x53D1;&#x751F;&#x65AD;&#x7194;&#xFF08;&#x8BF7;&#x53C2;&#x9605; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_limiting_memory_usage.html#circuit-breaker" target="_blank">&#x65AD;&#x8DEF;&#x5668;</a>&#xFF09;&#xFF0C;&#x8FD9;&#x6837;&#x6211;&#x4EEC;&#x5C31;&#x65E0;&#x6CD5;&#x8F7D;&#x5165;&#x66F4;&#x591A;&#x7684; fielddata&#x3002;</p>
<p>&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#xFF0C;&#x6211;&#x4EEC;&#x88AB;&#x56F0;&#x5728;&#x4E86;&#x6B7B;&#x80E1;&#x540C;&#x3002;&#x4F46;&#x6211;&#x4EEC;&#x4ECD;&#x7136;&#x53EF;&#x4EE5;&#x8BBF;&#x95EE;&#x65E7;&#x7D22;&#x5F15;&#x4E2D;&#x7684; fielddata&#xFF0C;&#x4E5F;&#x65E0;&#x6CD5;&#x52A0;&#x8F7D;&#x4EFB;&#x4F55;&#x65B0;&#x7684;&#x503C;&#x3002;&#x76F8;&#x53CD;&#xFF0C;&#x6211;&#x4EEC;&#x5E94;&#x8BE5;&#x56DE;&#x6536;&#x65E7;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x4E3A;&#x65B0;&#x503C;&#x83B7;&#x5F97;&#x66F4;&#x591A;&#x7A7A;&#x95F4;&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x9632;&#x6B62;&#x53D1;&#x751F;&#x8FD9;&#x6837;&#x7684;&#x4E8B;&#x60C5;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5728; <code>config/elasticsearch.yml</code> &#x6587;&#x4EF6;&#x4E2D;&#x589E;&#x52A0;&#x914D;&#x7F6E;&#x4E3A; fielddata &#x8BBE;&#x7F6E;&#x4E00;&#x4E2A;&#x4E0A;&#x9650;&#xFF1A;</p>
<pre><code class="lang-yaml">indices.fielddata.cache.size:  <span class="hljs-number">20</span>%     &lt;<span class="hljs-number">1</span><span class="hljs-string">&gt;
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;&#x5806;&#x5927;&#x5C0F;&#x7684;&#x767E;&#x5206;&#x6BD4;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x662F;&#x67D0;&#x4E2A;&#x503C;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A; <code>5gb</code> &#x3002; </p>
</blockquote>
<p>&#x6709;&#x4E86;&#x8FD9;&#x4E2A;&#x8BBE;&#x7F6E;&#xFF0C;&#x6700;&#x4E45;&#x672A;&#x4F7F;&#x7528;&#xFF08;LRU&#xFF09;&#x7684; fielddata &#x4F1A;&#x88AB;&#x56DE;&#x6536;&#x4E3A;&#x65B0;&#x6570;&#x636E;&#x817E;&#x51FA;&#x7A7A;&#x95F4;&#x3002;</p>
<blockquote>
<p> <img src="assets/warning.png" alt="&#x8B66;&#x544A;"> &#x53EF;&#x80FD;&#x53D1;&#x73B0;&#x5728;&#x7EBF;&#x6587;&#x6863;&#x6709;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x8BBE;&#x7F6E;&#xFF1A; <code>indices.fielddata.cache.expire</code> &#x3002;</p>
<p> &#x8FD9;&#x4E2A;&#x8BBE;&#x7F6E; <em>&#x6C38;&#x8FDC;&#x90FD;&#x4E0D;&#x4F1A;</em> &#x88AB;&#x4F7F;&#x7528;&#xFF01;&#x5B83;&#x5F88;&#x6709;&#x53EF;&#x80FD;&#x5728;&#x4E0D;&#x4E45;&#x7684;&#x5C06;&#x6765;&#x88AB;&#x5F03;&#x7528;&#x3002;</p>
<p> &#x8FD9;&#x4E2A;&#x8BBE;&#x7F6E;&#x8981;&#x6C42; Elasticsearch &#x56DE;&#x6536;&#x90A3;&#x4E9B; <code>&#x8FC7;&#x671F;</code> &#x7684; fielddata&#xFF0C;&#x4E0D;&#x7BA1;&#x8FD9;&#x4E9B;&#x503C;&#x6709;&#x6CA1;&#x6709;&#x88AB;&#x7528;&#x5230;&#x3002;</p>
<p> &#x8FD9;&#x5BF9;&#x6027;&#x80FD;&#x662F;&#x4EF6; <em>&#x5F88;&#x7CDF;&#x7CD5;</em> &#x7684;&#x4E8B;&#x60C5;&#x3002;&#x56DE;&#x6536;&#x4F1A;&#x6709;&#x6D88;&#x8017;&#x6027;&#x80FD;&#xFF0C;&#x5B83;&#x523B;&#x610F;&#x7684;&#x5B89;&#x6392;&#x56DE;&#x6536;&#x65B9;&#x5F0F;&#xFF0C;&#x800C;&#x6CA1;&#x80FD;&#x83B7;&#x5F97;&#x4EFB;&#x4F55;&#x56DE;&#x62A5;&#x3002;</p>
<p> &#x6CA1;&#x6709;&#x7406;&#x7531;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x8BBE;&#x7F6E;&#xFF1A;&#x6211;&#x4EEC;&#x4E0D;&#x80FD;&#x4ECE;&#x7406;&#x8BBA;&#x4E0A;&#x5047;&#x8BBE;&#x4E00;&#x4E2A;&#x6709;&#x7528;&#x7684;&#x60C5;&#x5F62;&#x3002;&#x76EE;&#x524D;&#xFF0C;&#x5B83;&#x7684;&#x5B58;&#x5728;&#x53EA;&#x662F;&#x4E3A;&#x4E86;&#x5411;&#x524D;&#x517C;&#x5BB9;&#x3002;&#x6211;&#x4EEC;&#x53EA;&#x5728;&#x5F88;&#x6709;&#x4EE5;&#x524D;&#x63D0;&#x5230;&#x8FC7;&#x8FD9;&#x4E2A;&#x8BBE;&#x7F6E;&#xFF0C;&#x4F46;&#x4E0D;&#x5E78;&#x7684;&#x662F;&#x7F51;&#x4E0A;&#x5404;&#x79CD;&#x6587;&#x7AE0;&#x90FD;&#x5C06;&#x5176;&#x4F5C;&#x4E3A;&#x4E00;&#x79CD;&#x6027;&#x80FD;&#x8C03;&#x4F18;&#x7684;&#x5C0F;&#x7A8D;&#x95E8;&#x6765;&#x63A8;&#x8350;&#x3002;</p>
<p> &#x5B83;&#x4E0D;&#x662F;&#x3002;&#x6C38;&#x8FDC;&#x4E0D;&#x8981;&#x4F7F;&#x7528;&#xFF01;  </p>
</blockquote>
<p><strong>&#x76D1;&#x63A7; fielddata&#xFF08;Monitoring fielddata&#xFF09;</strong></p>
<p>&#x65E0;&#x8BBA;&#x662F;&#x4ED4;&#x7EC6;&#x76D1;&#x63A7; fielddata &#x7684;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#xFF0C; &#x8FD8;&#x662F;&#x770B;&#x6709;&#x65E0;&#x6570;&#x636E;&#x88AB;&#x56DE;&#x6536;&#x90FD;&#x5341;&#x5206;&#x91CD;&#x8981;&#x3002;&#x9AD8;&#x7684;&#x56DE;&#x6536;&#x6570;&#x53EF;&#x4EE5;&#x9884;&#x793A;&#x4E25;&#x91CD;&#x7684;&#x8D44;&#x6E90;&#x95EE;&#x9898;&#x4EE5;&#x53CA;&#x6027;&#x80FD;&#x4E0D;&#x4F73;&#x7684;&#x539F;&#x56E0;&#x3002;</p>
<p>Fielddata &#x7684;&#x4F7F;&#x7528;&#x53EF;&#x4EE5;&#x88AB;&#x76D1;&#x63A7;&#xFF1A;</p>
<ul>
<li><p>&#x6309;&#x7D22;&#x5F15;&#x4F7F;&#x7528; <a href="http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html" target="_blank"><code>indices-stats</code> API</a> &#xFF1A;</p>
<pre><code class="lang-json">GET /_stats/fielddata?fields=*
</code></pre>
</li>
<li><p>&#x6309;&#x8282;&#x70B9;&#x4F7F;&#x7528; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/cluster-nodes-stats.html" target="_blank"><code>nodes-stats</code> API</a> &#xFF1A;</p>
<pre><code class="lang-json">GET /_nodes/stats/indices/fielddata?fields=*
</code></pre>
</li>
<li><p>&#x6309;&#x7D22;&#x5F15;&#x8282;&#x70B9;&#xFF1A;</p>
</li>
</ul>
<pre><code class="lang-json">GET /_nodes/stats/indices/fielddata?level=indices&amp;fields=*
</code></pre>
<p>&#x4F7F;&#x7528;&#x8BBE;&#x7F6E; <code>?fields=*</code> &#xFF0C;&#x53EF;&#x4EE5;&#x5C06;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x5206;&#x914D;&#x5230;&#x6BCF;&#x4E2A;&#x5B57;&#x6BB5;&#x3002;</p>
<p><strong>&#x65AD;&#x8DEF;&#x5668;</strong></p>
<p>&#x673A;&#x654F;&#x7684;&#x8BFB;&#x8005;&#x53EF;&#x80FD;&#x5DF2;&#x7ECF;&#x53D1;&#x73B0; fielddata &#x5927;&#x5C0F;&#x8BBE;&#x7F6E;&#x7684;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#x3002;fielddata &#x5927;&#x5C0F;&#x662F;&#x5728;&#x6570;&#x636E;&#x52A0;&#x8F7D; <em>&#x4E4B;&#x540E;</em> &#x68C0;&#x67E5;&#x7684;&#x3002; &#x5982;&#x679C;&#x4E00;&#x4E2A;&#x67E5;&#x8BE2;&#x8BD5;&#x56FE;&#x52A0;&#x8F7D;&#x6BD4;&#x53EF;&#x7528;&#x5185;&#x5B58;&#x66F4;&#x591A;&#x7684;&#x4FE1;&#x606F;&#x5230; fielddata &#x4E2D;&#x4F1A;&#x53D1;&#x751F;&#x4EC0;&#x4E48;&#xFF1F;&#x7B54;&#x6848;&#x5F88;&#x4E11;&#x964B;&#xFF1A;&#x6211;&#x4EEC;&#x4F1A;&#x78B0;&#x5230; OutOfMemoryException &#x3002;</p>
<p>Elasticsearch &#x5305;&#x62EC;&#x4E00;&#x4E2A; <em>fielddata &#x65AD;&#x7194;&#x5668;</em> &#xFF0C;&#x8FD9;&#x4E2A;&#x8BBE;&#x8BA1;&#x5C31;&#x662F;&#x4E3A;&#x4E86;&#x5904;&#x7406;&#x4E0A;&#x8FF0;&#x60C5;&#x51B5;&#x3002; &#x65AD;&#x7194;&#x5668;&#x901A;&#x8FC7;&#x5185;&#x90E8;&#x68C0;&#x67E5;&#xFF08;&#x5B57;&#x6BB5;&#x7684;&#x7C7B;&#x578B;&#x3001;&#x57FA;&#x6570;&#x3001;&#x5927;&#x5C0F;&#x7B49;&#x7B49;&#xFF09;&#x6765;&#x4F30;&#x7B97;&#x4E00;&#x4E2A;&#x67E5;&#x8BE2;&#x9700;&#x8981;&#x7684;&#x5185;&#x5B58;&#x3002;&#x5B83;&#x7136;&#x540E;&#x68C0;&#x67E5;&#x8981;&#x6C42;&#x52A0;&#x8F7D;&#x7684; fielddata &#x662F;&#x5426;&#x4F1A;&#x5BFC;&#x81F4; fielddata &#x7684;&#x603B;&#x91CF;&#x8D85;&#x8FC7;&#x5806;&#x7684;&#x914D;&#x7F6E;&#x6BD4;&#x4F8B;&#x3002;</p>
<p>&#x5982;&#x679C;&#x4F30;&#x7B97;&#x67E5;&#x8BE2;&#x7684;&#x5927;&#x5C0F;&#x8D85;&#x51FA;&#x9650;&#x5236;&#xFF0C;&#x5C31;&#x4F1A; <em>&#x89E6;&#x53D1;</em> &#x65AD;&#x8DEF;&#x5668;&#xFF0C;&#x67E5;&#x8BE2;&#x4F1A;&#x88AB;&#x4E2D;&#x6B62;&#x5E76;&#x8FD4;&#x56DE;&#x5F02;&#x5E38;&#x3002;&#x8FD9;&#x90FD;&#x53D1;&#x751F;&#x5728;&#x6570;&#x636E;&#x52A0;&#x8F7D; <em>&#x4E4B;&#x524D;</em>&#xFF0C;&#x4E5F;&#x5C31;&#x610F;&#x5473;&#x7740;&#x4E0D;&#x4F1A;&#x5F15;&#x8D77; OutOfMemoryException &#x3002;</p>
<hr>
<p>&gt;</p>
<blockquote>
<p> <strong>&#x53EF;&#x7528;&#x7684;&#x65AD;&#x8DEF;&#x5668;&#xFF08;Available Circuit Breakers&#xFF09;</strong></p>
<p> Elasticsearch &#x6709;&#x4E00;&#x7CFB;&#x5217;&#x7684;&#x65AD;&#x8DEF;&#x5668;&#xFF0C;&#x5B83;&#x4EEC;&#x90FD;&#x80FD;&#x4FDD;&#x8BC1;&#x5185;&#x5B58;&#x4E0D;&#x4F1A;&#x8D85;&#x51FA;&#x9650;&#x5236;&#xFF1A;</p>
<ul>
<li><p><code>indices.breaker.fielddata.limit</code></p>
<p><code>fielddata</code> &#x65AD;&#x8DEF;&#x5668;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x5806;&#x7684; 60% &#x4F5C;&#x4E3A; fielddata &#x5927;&#x5C0F;&#x7684;&#x4E0A;&#x9650;&#x3002;</p>
</li>
<li><p><code>indices.breaker.request.limit</code></p>
<p><code>request</code> &#x65AD;&#x8DEF;&#x5668;&#x4F30;&#x7B97;&#x9700;&#x8981;&#x5B8C;&#x6210;&#x5176;&#x4ED6;&#x8BF7;&#x6C42;&#x90E8;&#x5206;&#x7684;&#x7ED3;&#x6784;&#x5927;&#x5C0F;&#xFF0C;&#x4F8B;&#x5982;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x805A;&#x5408;&#x6876;&#xFF0C;&#x9ED8;&#x8BA4;&#x9650;&#x5236;&#x662F;&#x5806;&#x5185;&#x5B58;&#x7684; 40%&#x3002;</p>
</li>
<li><p><code>indices.breaker.total.limit</code></p>
<p><code>total</code> &#x63C9;&#x5408; <code>request</code> &#x548C; <code>fielddata</code> &#x65AD;&#x8DEF;&#x5668;&#x4FDD;&#x8BC1;&#x4E24;&#x8005;&#x7EC4;&#x5408;&#x8D77;&#x6765;&#x4E0D;&#x4F1A;&#x4F7F;&#x7528;&#x8D85;&#x8FC7;&#x5806;&#x5185;&#x5B58;&#x7684; 70%&#x3002;</p>
</li>
</ul>
<hr>
</blockquote>
<p>&#x65AD;&#x8DEF;&#x5668;&#x7684;&#x9650;&#x5236;&#x53EF;&#x4EE5;&#x5728;&#x6587;&#x4EF6; <code>config/elasticsearch.yml</code> &#x4E2D;&#x6307;&#x5B9A;&#xFF0C;&#x53EF;&#x4EE5;&#x52A8;&#x6001;&#x66F4;&#x65B0;&#x4E00;&#x4E2A;&#x6B63;&#x5728;&#x8FD0;&#x884C;&#x7684;&#x96C6;&#x7FA4;&#xFF1A;</p>
<pre><code class="lang-js">PUT /_cluster/settings
{
  <span class="hljs-string">&quot;persistent&quot;</span> : {
    <span class="hljs-string">&quot;indices.breaker.fielddata.limit&quot;</span> : <span class="hljs-string">&quot;40%&quot;</span>           &lt;<span class="hljs-number">1</span>&gt;
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD9;&#x4E2A;&#x9650;&#x5236;&#x662F;&#x6309;&#x5BF9;&#x5185;&#x5B58;&#x7684;&#x767E;&#x5206;&#x6BD4;&#x8BBE;&#x7F6E;&#x7684;&#x3002;   </p>
</blockquote>
<p>&#x6700;&#x597D;&#x4E3A;&#x65AD;&#x8DEF;&#x5668;&#x8BBE;&#x7F6E;&#x4E00;&#x4E2A;&#x76F8;&#x5BF9;&#x4FDD;&#x5B88;&#x70B9;&#x7684;&#x503C;&#x3002; &#x8BB0;&#x4F4F; fielddata &#x9700;&#x8981;&#x4E0E; <code>request</code> &#x65AD;&#x8DEF;&#x5668;&#x5171;&#x4EAB;&#x5806;&#x5185;&#x5B58;&#x3001;&#x7D22;&#x5F15;&#x7F13;&#x51B2;&#x5185;&#x5B58;&#x548C;&#x8FC7;&#x6EE4;&#x5668;&#x7F13;&#x5B58;&#x3002;Lucene &#x7684;&#x6570;&#x636E;&#x88AB;&#x7528;&#x6765;&#x6784;&#x9020;&#x7D22;&#x5F15;&#xFF0C;&#x4EE5;&#x53CA;&#x5404;&#x79CD;&#x5176;&#x4ED6;&#x4E34;&#x65F6;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002; &#x6B63;&#x56E0;&#x5982;&#x6B64;&#xFF0C;&#x5B83;&#x9ED8;&#x8BA4;&#x503C;&#x975E;&#x5E38;&#x4FDD;&#x5B88;&#xFF0C;&#x53EA;&#x6709; 60% &#x3002;&#x8FC7;&#x4E8E;&#x4E50;&#x89C2;&#x7684;&#x8BBE;&#x7F6E;&#x53EF;&#x80FD;&#x4F1A;&#x5F15;&#x8D77;&#x6F5C;&#x5728;&#x7684;&#x5806;&#x6808;&#x6EA2;&#x51FA;&#xFF08;OOM&#xFF09;&#x5F02;&#x5E38;&#xFF0C;&#x8FD9;&#x4F1A;&#x4F7F;&#x6574;&#x4E2A;&#x8282;&#x70B9;&#x5B95;&#x6389;&#x3002;</p>
<p>&#x53E6;&#x4E00;&#x65B9;&#x9762;&#xFF0C;&#x8FC7;&#x5EA6;&#x4FDD;&#x5B88;&#x7684;&#x503C;&#x53EA;&#x4F1A;&#x8FD4;&#x56DE;&#x67E5;&#x8BE2;&#x5F02;&#x5E38;&#xFF0C;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x53EF;&#x4EE5;&#x5BF9;&#x5F02;&#x5E38;&#x505A;&#x76F8;&#x5E94;&#x5904;&#x7406;&#x3002;&#x5F02;&#x5E38;&#x6BD4;&#x670D;&#x52A1;&#x5668;&#x5D29;&#x6E83;&#x8981;&#x597D;&#x3002;&#x8FD9;&#x4E9B;&#x5F02;&#x5E38;&#x5E94;&#x8BE5;&#x4E5F;&#x80FD;&#x4FC3;&#x8FDB;&#x6211;&#x4EEC;&#x5BF9;&#x67E5;&#x8BE2;&#x8FDB;&#x884C;&#x91CD;&#x65B0;&#x8BC4;&#x4F30;&#xFF1A;&#x4E3A;&#x4EC0;&#x4E48;&#x5355;&#x4E2A;&#x67E5;&#x8BE2;&#x9700;&#x8981;&#x8D85;&#x8FC7;&#x5806;&#x5185;&#x5B58;&#x7684; 60% &#x4E4B;&#x591A;&#xFF1F;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x5728; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_limiting_memory_usage.html#fielddata-size" target="_blank">Fielddata&#x7684;&#x5927;&#x5C0F;</a> &#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x63D0;&#x8FC7;&#x5173;&#x4E8E;&#x7ED9; fielddata &#x7684;&#x5927;&#x5C0F;&#x52A0;&#x4E00;&#x4E2A;&#x9650;&#x5236;&#xFF0C;&#x4ECE;&#x800C;&#x786E;&#x4FDD;&#x65E7;&#x7684;&#x65E0;&#x7528; fielddata &#x88AB;&#x56DE;&#x6536;&#x7684;&#x65B9;&#x6CD5;&#x3002; <code>indices.fielddata.cache.size</code> &#x548C; <code>indices.breaker.fielddata.limit</code> &#x4E4B;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#x975E;&#x5E38;&#x91CD;&#x8981;&#x3002; &#x5982;&#x679C;&#x65AD;&#x8DEF;&#x5668;&#x7684;&#x9650;&#x5236;&#x4F4E;&#x4E8E;&#x7F13;&#x5B58;&#x5927;&#x5C0F;&#xFF0C;&#x6CA1;&#x6709;&#x6570;&#x636E;&#x4F1A;&#x88AB;&#x56DE;&#x6536;&#x3002;&#x4E3A;&#x4E86;&#x80FD;&#x6B63;&#x5E38;&#x5DE5;&#x4F5C;&#xFF0C;&#x65AD;&#x8DEF;&#x5668;&#x7684;&#x9650;&#x5236; <em>&#x5FC5;&#x987B;</em> &#x8981;&#x6BD4;&#x7F13;&#x5B58;&#x5927;&#x5C0F;&#x8981;&#x9AD8;&#x3002;</p>
</blockquote>
<p>&#x503C;&#x5F97;&#x6CE8;&#x610F;&#x7684;&#x662F;&#xFF1A;&#x65AD;&#x8DEF;&#x5668;&#x662F;&#x6839;&#x636E;&#x603B;&#x5806;&#x5185;&#x5B58;&#x5927;&#x5C0F;&#x4F30;&#x7B97;&#x67E5;&#x8BE2;&#x5927;&#x5C0F;&#x7684;&#xFF0C;&#x800C; <em>&#x975E;</em> &#x6839;&#x636E;&#x5B9E;&#x9645;&#x5806;&#x5185;&#x5B58;&#x7684;&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#x3002; &#x8FD9;&#x662F;&#x7531;&#x4E8E;&#x5404;&#x79CD;&#x6280;&#x672F;&#x539F;&#x56E0;&#x9020;&#x6210;&#x7684;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x5806;&#x53EF;&#x80FD;&#x770B;&#x4E0A;&#x53BB;&#x662F;&#x6EE1;&#x7684;&#x4F46;&#x5B9E;&#x9645;&#x4E0A;&#x53EF;&#x80FD;&#x53EA;&#x662F;&#x5728;&#x7B49;&#x5F85;&#x5783;&#x573E;&#x56DE;&#x6536;&#xFF0C;&#x8FD9;&#x4F7F;&#x6211;&#x4EEC;&#x96BE;&#x4EE5;&#x8FDB;&#x884C;&#x5408;&#x7406;&#x7684;&#x4F30;&#x7B97;&#xFF09;&#x3002;&#x4F46;&#x4F5C;&#x4E3A;&#x7EC8;&#x7AEF;&#x7528;&#x6237;&#xFF0C;&#x8FD9;&#x610F;&#x5473;&#x7740;&#x8BBE;&#x7F6E;&#x9700;&#x8981;&#x4FDD;&#x5B88;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x662F;&#x6839;&#x636E;&#x603B;&#x5806;&#x5185;&#x5B58;&#x5FC5;&#x8981;&#x7684;&#xFF0C;&#x800C; <em>&#x4E0D;&#x662F;</em> &#x53EF;&#x7528;&#x5806;&#x5185;&#x5B58;&#x3002;</p>
<h3 id="Fielddata&#x7684;&#x8FC7;&#x6EE4;"><a name="Fielddata&#x7684;&#x8FC7;&#x6EE4;" class="anchor-navigation-ex-anchor" href="#Fielddata&#x7684;&#x8FC7;&#x6EE4;"><i class="fa fa-link" aria-hidden="true"></i></a>Fielddata &#x7684;&#x8FC7;&#x6EE4;  </h3>
<p>&#x8BBE;&#x60F3;&#x6211;&#x4EEC;&#x6B63;&#x5728;&#x8FD0;&#x884C;&#x4E00;&#x4E2A;&#x7F51;&#x7AD9;&#x5141;&#x8BB8;&#x7528;&#x6237;&#x6536;&#x542C;&#x4ED6;&#x4EEC;&#x559C;&#x6B22;&#x7684;&#x6B4C;&#x66F2;&#x3002; &#x4E3A;&#x4E86;&#x8BA9;&#x4ED6;&#x4EEC;&#x53EF;&#x4EE5;&#x66F4;&#x5BB9;&#x6613;&#x7684;&#x7BA1;&#x7406;&#x81EA;&#x5DF1;&#x7684;&#x97F3;&#x4E50;&#x5E93;&#xFF0C;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x4E3A;&#x6B4C;&#x66F2;&#x8BBE;&#x7F6E;&#x4EFB;&#x4F55;&#x4ED6;&#x4EEC;&#x559C;&#x6B22;&#x7684;&#x6807;&#x7B7E;&#xFF0C;&#x8FD9;&#x6837;&#x6211;&#x4EEC;&#x5C31;&#x4F1A;&#x6709;&#x5F88;&#x591A;&#x6B4C;&#x66F2;&#x88AB;&#x9644;&#x4E0A; <code>rock&#xFF08;&#x6447;&#x6EDA;&#xFF09;</code> &#x3001; <code>hiphop&#xFF08;&#x563B;&#x54C8;&#xFF09;</code> &#x548C; <code>electronica&#xFF08;&#x7535;&#x97F3;&#xFF09;</code> &#xFF0C;&#x4F46;&#x4E5F;&#x4F1A;&#x6709;&#x4E9B;&#x6B4C;&#x66F2;&#x88AB;&#x9644;&#x4E0A; <code>my_16th_birthday_favorite_anthem</code> &#x8FD9;&#x6837;&#x7684;&#x6807;&#x7B7E;&#x3002;</p>
<p>&#x73B0;&#x5728;&#x8BBE;&#x60F3;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x4E3A;&#x7528;&#x6237;&#x5C55;&#x793A;&#x6BCF;&#x9996;&#x6B4C;&#x66F2;&#x6700;&#x53D7;&#x6B22;&#x8FCE;&#x7684;&#x4E09;&#x4E2A;&#x6807;&#x7B7E;&#xFF0C;&#x5F88;&#x6709;&#x53EF;&#x80FD; <code>rock</code> &#x8FD9;&#x6837;&#x7684;&#x6807;&#x7B7E;&#x4F1A;&#x6392;&#x5728;&#x4E09;&#x4E2A;&#x4E2D;&#x7684;&#x6700;&#x524D;&#x9762;&#xFF0C;&#x800C; <code>my_16th_birthday_favorite_anthem</code> &#x5219;&#x4E0D;&#x592A;&#x53EF;&#x80FD;&#x5F97;&#x5230;&#x8BC4;&#x7EA7;&#x3002; &#x5C3D;&#x7BA1;&#x5982;&#x6B64;&#xFF0C;&#x4E3A;&#x4E86;&#x8BA1;&#x7B97;&#x6700;&#x53D7;&#x6B22;&#x8FCE;&#x7684;&#x6807;&#x7B7E;&#xFF0C;&#x6211;&#x4EEC;&#x5FC5;&#x987B;&#x5F3A;&#x5236;&#x5C06;&#x8FD9;&#x4E9B;&#x4E00;&#x6B21;&#x6027;&#x4F7F;&#x7528;&#x7684;&#x9879;&#x52A0;&#x8F7D;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#x3002;</p>
<p>&#x611F;&#x8C22; fielddata &#x8FC7;&#x6EE4;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x63A7;&#x5236;&#x8FD9;&#x79CD;&#x72B6;&#x51B5;&#x3002;&#x6211;&#x4EEC; <em>&#x77E5;&#x9053;</em> &#x81EA;&#x5DF1;&#x53EA;&#x5BF9;&#x6700;&#x6D41;&#x884C;&#x7684;&#x9879;&#x611F;&#x5174;&#x8DA3;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7B80;&#x5355;&#x5730;&#x907F;&#x514D;&#x52A0;&#x8F7D;&#x90A3;&#x4E9B;&#x4E0D;&#x592A;&#x6709;&#x610F;&#x601D;&#x7684;&#x957F;&#x5C3E;&#x9879;&#xFF1A;</p>
<pre><code class="lang-js">PUT /music/_mapping/song
{
  <span class="hljs-string">&quot;properties&quot;</span>: {
    <span class="hljs-string">&quot;tag&quot;</span>: {
      <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
      <span class="hljs-string">&quot;fielddata&quot;</span>: {                        &lt;1&gt;
        &quot;filter&quot;: {
          &quot;frequency&quot;: {                    &lt;2&gt;
            &quot;min&quot;:              0.01,       &lt;3&gt;
            &quot;min_segment_size&quot;: 500         &lt;4&gt;
          }
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  <code>fielddata</code> &#x5173;&#x952E;&#x5B57;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x914D;&#x7F6E; fielddata &#x5904;&#x7406;&#x8BE5;&#x5B57;&#x6BB5;&#x7684;&#x65B9;&#x5F0F;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  <code>frequency</code> &#x8FC7;&#x6EE4;&#x5668;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x57FA;&#x4E8E;&#x9879;&#x9891;&#x7387;&#x8FC7;&#x6EE4;&#x52A0;&#x8F7D; fielddata&#x3002;   </p>
<p> <img src="assets/3.png" alt="img">  &#x53EA;&#x52A0;&#x8F7D;&#x90A3;&#x4E9B;&#x81F3;&#x5C11;&#x5728;&#x672C;&#x6BB5;&#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0; 1% &#x7684;&#x9879;&#x3002;           </p>
<p> <img src="assets/4.png" alt="img">  &#x5FFD;&#x7565;&#x4EFB;&#x4F55;&#x6587;&#x6863;&#x4E2A;&#x6570;&#x5C0F;&#x4E8E; 500 &#x7684;&#x6BB5;&#x3002;                 </p>
</blockquote>
<p>&#x6709;&#x4E86;&#x8FD9;&#x4E2A;&#x6620;&#x5C04;&#xFF0C;&#x53EA;&#x6709;&#x90A3;&#x4E9B;&#x81F3;&#x5C11;&#x5728; <em>&#x672C;&#x6BB5;</em> &#x6587;&#x6863;&#x4E2D;&#x51FA;&#x73B0;&#x8D85;&#x8FC7; 1% &#x7684;&#x9879;&#x624D;&#x4F1A;&#x88AB;&#x52A0;&#x8F7D;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#x3002;&#x6211;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x6307;&#x5B9A;&#x4E00;&#x4E2A; <code>&#x6700;&#x5927;</code> &#x8BCD;&#x9891;&#xFF0C;&#x5B83;&#x53EF;&#x4EE5;&#x88AB;&#x7528;&#x6765;&#x6392;&#x9664; <em>&#x5E38;&#x7528;</em> &#x9879;&#xFF0C;&#x6BD4;&#x5982; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/stopwords.html" target="_blank">&#x505C;&#x7528;&#x8BCD;</a> &#x3002;</p>
<p>&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x8BCD;&#x9891;&#x662F;&#x6309;&#x7167;&#x6BB5;&#x6765;&#x8BA1;&#x7B97;&#x7684;&#x3002;&#x8FD9;&#x662F;&#x5B9E;&#x73B0;&#x7684;&#x4E00;&#x4E2A;&#x9650;&#x5236;&#xFF1A;fielddata &#x662F;&#x6309;&#x6BB5;&#x6765;&#x52A0;&#x8F7D;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x53EF;&#x89C1;&#x7684;&#x8BCD;&#x9891;&#x53EA;&#x662F;&#x8BE5;&#x6BB5;&#x5185;&#x7684;&#x9891;&#x7387;&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x8FD9;&#x4E2A;&#x9650;&#x5236;&#x4E5F;&#x6709;&#x4E9B;&#x6709;&#x8DA3;&#x7684;&#x7279;&#x6027;&#xFF1A;&#x5B83;&#x53EF;&#x4EE5;&#x8BA9;&#x53D7;&#x6B22;&#x8FCE;&#x7684;&#x65B0;&#x9879;&#x8FC5;&#x901F;&#x63D0;&#x5347;&#x5230;&#x9876;&#x90E8;&#x3002;</p>
<p>&#x6BD4;&#x5982;&#x4E00;&#x4E2A;&#x65B0;&#x98CE;&#x683C;&#x7684;&#x6B4C;&#x66F2;&#x5728;&#x4E00;&#x591C;&#x4E4B;&#x95F4;&#x53D7;&#x5927;&#x4F17;&#x6B22;&#x8FCE;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x80FD;&#x60F3;&#x8981;&#x5C06;&#x8FD9;&#x79CD;&#x65B0;&#x98CE;&#x683C;&#x7684;&#x6B4C;&#x66F2;&#x6807;&#x7B7E;&#x5305;&#x62EC;&#x5728;&#x6700;&#x53D7;&#x6B22;&#x8FCE;&#x5217;&#x8868;&#x4E2D;&#xFF0C;&#x4F46;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x501A;&#x8D56;&#x5BF9;&#x7D22;&#x5F15;&#x505A;&#x5B8C;&#x6574;&#x7684;&#x8BA1;&#x7B97;&#x83B7;&#x53D6;&#x8BCD;&#x9891;&#xFF0C;&#x6211;&#x4EEC;&#x5C31;&#x5FC5;&#x987B;&#x7B49;&#x5230;&#x65B0;&#x6807;&#x7B7E;&#x53D8;&#x5F97;&#x50CF; <code>rock</code> &#x548C; <code>electronica</code> &#xFF09;&#x4E00;&#x6837;&#x6D41;&#x884C;&#x3002; &#x7531;&#x4E8E;&#x9891;&#x5EA6;&#x8FC7;&#x6EE4;&#x7684;&#x5B9E;&#x73B0;&#x65B9;&#x5F0F;&#xFF0C;&#x65B0;&#x52A0;&#x7684;&#x6807;&#x7B7E;&#x4F1A;&#x5F88;&#x5FEB;&#x4F5C;&#x4E3A;&#x9AD8;&#x9891;&#x6807;&#x7B7E;&#x51FA;&#x73B0;&#x5728;&#x65B0;&#x6BB5;&#x5185;&#xFF0C;&#x4E5F;&#x5F53;&#x7136;&#x4F1A;&#x8FC5;&#x901F;&#x4E0A;&#x5347;&#x5230;&#x9876;&#x90E8;&#x3002;</p>
<p><code>min_segment_size</code> &#x53C2;&#x6570;&#x8981;&#x6C42; Elasticsearch &#x5FFD;&#x7565;&#x67D0;&#x4E2A;&#x5927;&#x5C0F;&#x4EE5;&#x4E0B;&#x7684;&#x6BB5;&#x3002; &#x5982;&#x679C;&#x4E00;&#x4E2A;&#x6BB5;&#x5185;&#x53EA;&#x6709;&#x5C11;&#x91CF;&#x6587;&#x6863;&#xFF0C;&#x5B83;&#x7684;&#x8BCD;&#x9891;&#x4F1A;&#x975E;&#x5E38;&#x7C97;&#x7565;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x610F;&#x4E49;&#x3002; &#x5C0F;&#x7684;&#x5206;&#x6BB5;&#x4F1A;&#x5F88;&#x5FEB;&#x88AB;&#x5408;&#x5E76;&#x5230;&#x66F4;&#x5927;&#x7684;&#x5206;&#x6BB5;&#x4E2D;&#xFF0C;&#x67D0;&#x4E00;&#x523B;&#x8D85;&#x8FC7;&#x8FD9;&#x4E2A;&#x9650;&#x5236;&#xFF0C;&#x5C06;&#x4F1A;&#x88AB;&#x7EB3;&#x5165;&#x8BA1;&#x7B97;&#x3002;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x901A;&#x8FC7;&#x9891;&#x6B21;&#x6765;&#x8FC7;&#x6EE4;&#x9879;&#x5E76;&#x4E0D;&#x662F;&#x552F;&#x4E00;&#x7684;&#x9009;&#x62E9;&#xFF0C;&#x6211;&#x4EEC;&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x6B63;&#x5219;&#x5F0F;&#x6765;&#x51B3;&#x5B9A;&#x53EA;&#x52A0;&#x8F7D;&#x90A3;&#x4E9B;&#x5339;&#x914D;&#x7684;&#x9879;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7528; <code>regex</code> &#x8FC7;&#x6EE4;&#x5668; &#x5904;&#x7406; twitte &#x4E0A;&#x7684;&#x6D88;&#x606F;&#x53EA;&#x5C06;&#x4EE5; <code>#</code> &#x53F7;&#x5F00;&#x59CB;&#x7684;&#x6807;&#x7B7E;&#x52A0;&#x8F7D;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#x3002; &#x8FD9;&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x4F7F;&#x7528;&#x7684;&#x5206;&#x6790;&#x5668;&#x4F1A;&#x4FDD;&#x7559;&#x6807;&#x70B9;&#x7B26;&#x53F7;&#xFF0C;&#x50CF; <code>whitespace</code> &#x5206;&#x6790;&#x5668;&#x3002;  </p>
</blockquote>
<p>Fielddata &#x8FC7;&#x6EE4;&#x5BF9;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x6709; <em>&#x5DE8;&#x5927;&#x7684;</em> &#x5F71;&#x54CD;&#xFF0C;&#x6743;&#x8861;&#x4E5F;&#x662F;&#x663E;&#x800C;&#x6613;&#x89C1;&#x7684;&#xFF1A;&#x6211;&#x4EEC;&#x5B9E;&#x9645;&#x4E0A;&#x662F;&#x5728;&#x5FFD;&#x7565;&#x6570;&#x636E;&#x3002;&#x4F46;&#x5BF9;&#x4E8E;&#x5F88;&#x591A;&#x5E94;&#x7528;&#xFF0C;&#x8FD9;&#x79CD;&#x6743;&#x8861;&#x662F;&#x5408;&#x7406;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x8FD9;&#x4E9B;&#x6570;&#x636E;&#x6839;&#x672C;&#x5C31;&#x6CA1;&#x6709;&#x88AB;&#x4F7F;&#x7528;&#x5230;&#x3002;&#x5185;&#x5B58;&#x7684;&#x8282;&#x7701;&#x901A;&#x5E38;&#x8981;&#x6BD4;&#x5305;&#x62EC;&#x4E00;&#x4E2A;&#x5927;&#x91CF;&#x800C;&#x65E0;&#x7528;&#x7684;&#x957F;&#x5C3E;&#x9879;&#x66F4;&#x4E3A;&#x91CD;&#x8981;&#x3002;</p>
<h3 id="&#x9884;&#x52A0;&#x8F7D;fielddata"><a name="&#x9884;&#x52A0;&#x8F7D;fielddata" class="anchor-navigation-ex-anchor" href="#&#x9884;&#x52A0;&#x8F7D;fielddata"><i class="fa fa-link" aria-hidden="true"></i></a>&#x9884;&#x52A0;&#x8F7D; fielddata  </h3>
<p>Elasticsearch &#x52A0;&#x8F7D;&#x5185;&#x5B58; fielddata &#x7684;&#x9ED8;&#x8BA4;&#x884C;&#x4E3A;&#x662F; <em>&#x5EF6;&#x8FDF;</em> &#x52A0;&#x8F7D; &#x3002; &#x5F53; Elasticsearch &#x7B2C;&#x4E00;&#x6B21;&#x67E5;&#x8BE2;&#x67D0;&#x4E2A;&#x5B57;&#x6BB5;&#x65F6;&#xFF0C;&#x5B83;&#x5C06;&#x4F1A;&#x5B8C;&#x6574;&#x52A0;&#x8F7D;&#x8FD9;&#x4E2A;&#x5B57;&#x6BB5;&#x6240;&#x6709; Segment &#x4E2D;&#x7684;&#x5012;&#x6392;&#x7D22;&#x5F15;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;&#x4EE5;&#x4FBF;&#x4E8E;&#x4EE5;&#x540E;&#x7684;&#x67E5;&#x8BE2;&#x80FD;&#x591F;&#x83B7;&#x53D6;&#x66F4;&#x597D;&#x7684;&#x6027;&#x80FD;&#x3002;</p>
<p>&#x5BF9;&#x4E8E;&#x5C0F;&#x7D22;&#x5F15;&#x6BB5;&#x6765;&#x8BF4;&#xFF0C;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x7684;&#x9700;&#x8981;&#x7684;&#x65F6;&#x95F4;&#x53EF;&#x4EE5;&#x5FFD;&#x7565;&#x3002;&#x4F46;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x6709;&#x4E00;&#x4E9B; 5 GB &#x7684;&#x7D22;&#x5F15;&#x6BB5;&#xFF0C;&#x5E76;&#x5E0C;&#x671B;&#x52A0;&#x8F7D; 10 GB &#x7684; fielddata &#x5230;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x53EF;&#x80FD;&#x4F1A;&#x8981;&#x6570;&#x5341;&#x79D2;&#x3002; &#x5DF2;&#x7ECF;&#x4E60;&#x60EF;&#x4E9A;&#x79D2;&#x54CD;&#x5E94;&#x7684;&#x7528;&#x6237;&#x5F88;&#x96BE;&#x4F1A;&#x63A5;&#x53D7;&#x505C;&#x987F;&#x6570;&#x79D2;&#x5361;&#x7740;&#x6CA1;&#x53CD;&#x5E94;&#x7684;&#x7F51;&#x7AD9;&#x3002;</p>
<p>&#x6709;&#x4E09;&#x79CD;&#x65B9;&#x5F0F;&#x53EF;&#x4EE5;&#x89E3;&#x51B3;&#x8FD9;&#x4E2A;&#x5EF6;&#x65F6;&#x9AD8;&#x5CF0;&#xFF1A;</p>
<ul>
<li>&#x9884;&#x52A0;&#x8F7D; fielddata</li>
<li>&#x9884;&#x52A0;&#x8F7D;&#x5168;&#x5C40;&#x5E8F;&#x53F7;</li>
<li>&#x7F13;&#x5B58;&#x9884;&#x70ED;</li>
</ul>
<p>&#x6240;&#x6709;&#x7684;&#x53D8;&#x5316;&#x90FD;&#x57FA;&#x4E8E;&#x540C;&#x4E00;&#x6982;&#x5FF5;&#xFF1A;&#x9884;&#x52A0;&#x8F7D; fielddata &#xFF0C;&#x8FD9;&#x6837;&#x5728;&#x7528;&#x6237;&#x8FDB;&#x884C;&#x641C;&#x7D22;&#x65F6;&#x5C31;&#x4E0D;&#x4F1A;&#x78B0;&#x5230;&#x5EF6;&#x8FDF;&#x9AD8;&#x5CF0;&#x3002;</p>
<p><strong>&#x9884;&#x52A0;&#x8F7D; fielddata&#xFF08;Eagerly Loading Fielddata&#xFF09;</strong></p>
<p>&#x7B2C;&#x4E00;&#x4E2A;&#x5DE5;&#x5177;&#x79F0;&#x4E3A; <em>&#x9884;&#x52A0;&#x8F7D;</em> &#xFF08;&#x4E0E;&#x9ED8;&#x8BA4;&#x7684; &#x5EF6;&#x8FDF;&#x52A0;&#x8F7D;&#x76F8;&#x5BF9;&#xFF09;&#x3002;&#x968F;&#x7740;&#x65B0;&#x5206;&#x6BB5;&#x7684;&#x521B;&#x5EFA;&#xFF08;&#x901A;&#x8FC7;&#x5237;&#x65B0;&#x3001;&#x5199;&#x5165;&#x6216;&#x5408;&#x5E76;&#x7B49;&#x65B9;&#x5F0F;&#xFF09;&#xFF0C; &#x542F;&#x52A8;&#x5B57;&#x6BB5;&#x9884;&#x52A0;&#x8F7D;&#x53EF;&#x4EE5;&#x4F7F;&#x90A3;&#x4E9B;&#x5BF9;&#x641C;&#x7D22;&#x4E0D;&#x53EF;&#x89C1;&#x7684;&#x5206;&#x6BB5;&#x91CC;&#x7684; fielddata <em>&#x63D0;&#x524D;</em> &#x52A0;&#x8F7D;&#x3002;</p>
<p>&#x8FD9;&#x5C31;&#x610F;&#x5473;&#x7740;&#x9996;&#x6B21;&#x547D;&#x4E2D;&#x5206;&#x6BB5;&#x7684;&#x67E5;&#x8BE2;&#x4E0D;&#x9700;&#x8981;&#x4FC3;&#x53D1; fielddata &#x7684;&#x52A0;&#x8F7D;&#xFF0C;&#x56E0;&#x4E3A; fielddata &#x5DF2;&#x7ECF;&#x88AB;&#x8F7D;&#x5165;&#x5230;&#x5185;&#x5B58;&#x3002;&#x907F;&#x514D;&#x4E86;&#x7528;&#x6237;&#x9047;&#x5230;&#x641C;&#x7D22;&#x5361;&#x987F;&#x7684;&#x60C5;&#x5F62;&#x3002;</p>
<p>&#x9884;&#x52A0;&#x8F7D;&#x662F;&#x6309;&#x5B57;&#x6BB5;&#x542F;&#x7528;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x63A7;&#x5236;&#x5177;&#x4F53;&#x54EA;&#x4E2A;&#x5B57;&#x6BB5;&#x53EF;&#x4EE5;&#x9884;&#x5148;&#x52A0;&#x8F7D;&#xFF1A;</p>
<pre><code class="lang-js">PUT /music/_mapping/_song
{
  <span class="hljs-string">&quot;tags&quot;</span>: {
    <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
    <span class="hljs-string">&quot;fielddata&quot;</span>: {
      <span class="hljs-string">&quot;loading&quot;</span> : <span class="hljs-string">&quot;eager&quot;</span>      &lt;<span class="hljs-number">1</span>&gt;
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8BBE;&#x7F6E; <code>fielddata.loading: eager</code> &#x53EF;&#x4EE5;&#x544A;&#x8BC9; Elasticsearch &#x9884;&#x5148;&#x5C06;&#x6B64;&#x5B57;&#x6BB5;&#x7684;&#x5185;&#x5BB9;&#x8F7D;&#x5165;&#x5185;&#x5B58;&#x4E2D;&#x3002;   </p>
</blockquote>
<p>Fielddata &#x7684;&#x8F7D;&#x5165;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>update-mapping</code> API &#x5BF9;&#x5DF2;&#x6709;&#x5B57;&#x6BB5;&#x8BBE;&#x7F6E; <code>lazy</code> &#x6216; <code>eager</code> &#x4E24;&#x79CD;&#x6A21;&#x5F0F;&#x3002;</p>
<blockquote>
<p> <img src="assets/warning.png" alt="&#x8B66;&#x544A;">  &#x9884;&#x52A0;&#x8F7D;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x7684;&#x5C06;&#x8F7D;&#x5165; fielddata &#x7684;&#x4EE3;&#x4EF7;&#x8F6C;&#x79FB;&#x5230;&#x7D22;&#x5F15;&#x5237;&#x65B0;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x67E5;&#x8BE2;&#x65F6;&#xFF0C;&#x4ECE;&#x800C;&#x5927;&#x5927;&#x63D0;&#x9AD8;&#x4E86;&#x641C;&#x7D22;&#x4F53;&#x9A8C;&#x3002;  </p>
</blockquote>
<p>&#x4F53;&#x79EF;&#x5927;&#x7684;&#x7D22;&#x5F15;&#x6BB5;&#x4F1A;&#x6BD4;&#x4F53;&#x79EF;&#x5C0F;&#x7684;&#x7D22;&#x5F15;&#x6BB5;&#x9700;&#x8981;&#x66F4;&#x957F;&#x7684;&#x5237;&#x65B0;&#x65F6;&#x95F4;&#x3002;&#x901A;&#x5E38;&#xFF0C;&#x4F53;&#x79EF;&#x5927;&#x7684;&#x7D22;&#x5F15;&#x6BB5;&#x662F;&#x7531;&#x90A3;&#x4E9B;&#x5DF2;&#x7ECF;&#x5BF9;&#x67E5;&#x8BE2;&#x53EF;&#x89C1;&#x7684;&#x5C0F;&#x5206;&#x6BB5;&#x5408;&#x5E76;&#x800C;&#x6210;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x8F83;&#x6162;&#x7684;&#x5237;&#x65B0;&#x65F6;&#x95F4;&#x4E5F;&#x4E0D;&#x662F;&#x5F88;&#x91CD;&#x8981;&#x3002;</p>
<p><strong>&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#xFF08;Global Ordinals&#xFF09;</strong></p>
<p>&#x6709;&#x79CD;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x964D;&#x4F4E;&#x5B57;&#x7B26;&#x4E32; fielddata &#x5185;&#x5B58;&#x4F7F;&#x7528;&#x7684;&#x6280;&#x672F;&#x53EB;&#x505A; <em>&#x5E8F;&#x53F7;</em> &#x3002;</p>
<p>&#x8BBE;&#x60F3;&#x6211;&#x4EEC;&#x6709;&#x5341;&#x4EBF;&#x6587;&#x6863;&#xFF0C;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x90FD;&#x6709;&#x81EA;&#x5DF1;&#x7684; <code>status</code> &#x72B6;&#x6001;&#x5B57;&#x6BB5;&#xFF0C;&#x72B6;&#x6001;&#x603B;&#x5171;&#x6709;&#x4E09;&#x79CD;&#xFF1A; <code>status_pending</code> &#x3001; <code>status_published</code> &#x3001; <code>status_deleted</code> &#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x4E3A;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x90FD;&#x4FDD;&#x7559;&#x5176;&#x72B6;&#x6001;&#x7684;&#x5B8C;&#x6574;&#x5B57;&#x7B26;&#x4E32;&#x5F62;&#x5F0F;&#xFF0C;&#x90A3;&#x4E48;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x5C31;&#x9700;&#x8981;&#x4F7F;&#x7528; 14 &#x5230; 16 &#x5B57;&#x8282;&#xFF0C;&#x6216;&#x603B;&#x5171; 15 GB&#x3002;</p>
<p>&#x53D6;&#x800C;&#x4EE3;&#x4E4B;&#x7684;&#x662F;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6307;&#x5B9A;&#x4E09;&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x5BF9;&#x5176;&#x6392;&#x5E8F;&#x3001;&#x7F16;&#x53F7;&#xFF1A;0&#xFF0C;1&#xFF0C;2&#x3002;</p>
<pre><code>Ordinal | Term
-------------------
0       | status_deleted
1       | status_pending
2       | status_published
</code></pre><p>&#x5E8F;&#x53F7;&#x5B57;&#x7B26;&#x4E32;&#x5728;&#x5E8F;&#x53F7;&#x5217;&#x8868;&#x4E2D;&#x53EA;&#x5B58;&#x50A8;&#x4E00;&#x6B21;&#xFF0C;&#x6BCF;&#x4E2A;&#x6587;&#x6863;&#x53EA;&#x8981;&#x4F7F;&#x7528;&#x6570;&#x503C;&#x7F16;&#x53F7;&#x7684;&#x5E8F;&#x53F7;&#x6765;&#x66FF;&#x4EE3;&#x5B83;&#x539F;&#x59CB;&#x7684;&#x503C;&#x3002;</p>
<pre><code>Doc     | Ordinal
-------------------------
0       | 1  # pending
1       | 1  # pending
2       | 2  # published
3       | 0  # deleted
</code></pre><p>&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x5C06;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x4ECE; 15 GB &#x964D;&#x5230; 1 GB &#x4EE5;&#x4E0B;&#xFF01;</p>
<p>&#x4F46;&#x8FD9;&#x91CC;&#x6709;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;&#x8BB0;&#x5F97; fielddata &#x662F;&#x6309;&#x5206; <em>&#x6BB5;</em> &#x6765;&#x7F13;&#x5B58;&#x7684;&#x3002;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x5206;&#x6BB5;&#x53EA;&#x5305;&#x542B;&#x4E24;&#x4E2A;&#x72B6;&#x6001;&#xFF08; <code>status_deleted</code>&#x548C; <code>status_published</code> &#xFF09;&#x3002;&#x90A3;&#x4E48;&#x7ED3;&#x679C;&#x4E2D;&#x7684;&#x5E8F;&#x53F7;&#xFF08;0 &#x548C; 1&#xFF09;&#x5C31;&#x4F1A;&#x4E0E;&#x5305;&#x542B;&#x6240;&#x6709;&#x4E09;&#x4E2A;&#x72B6;&#x6001;&#x7684;&#x5206;&#x6BB5;&#x4E0D;&#x4E00;&#x6837;&#x3002;</p>
<p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x5C1D;&#x8BD5;&#x5BF9; <code>status</code> &#x5B57;&#x6BB5;&#x8FD0;&#x884C; <code>terms</code> &#x805A;&#x5408;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5BF9;&#x5B9E;&#x9645;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x503C;&#x8FDB;&#x884C;&#x805A;&#x5408;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x8BC6;&#x522B;&#x6240;&#x6709;&#x5206;&#x6BB5;&#x4E2D;&#x76F8;&#x540C;&#x7684;&#x503C;&#x3002;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7C97;&#x66B4;&#x7684;&#x65B9;&#x5F0F;&#x5C31;&#x662F;&#x5BF9;&#x6BCF;&#x4E2A;&#x5206;&#x6BB5;&#x6267;&#x884C;&#x805A;&#x5408;&#x64CD;&#x4F5C;&#xFF0C;&#x8FD4;&#x56DE;&#x6BCF;&#x4E2A;&#x5206;&#x6BB5;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x503C;&#xFF0C;&#x518D;&#x5C06;&#x5B83;&#x4EEC;&#x5F52;&#x7EB3;&#x5F97;&#x51FA;&#x5B8C;&#x6574;&#x7684;&#x7ED3;&#x679C;&#x3002; &#x5C3D;&#x7BA1;&#x8FD9;&#x6837;&#x505A;&#x53EF;&#x884C;&#xFF0C;&#x4F46;&#x4F1A;&#x5F88;&#x6162;&#x800C;&#x4E14;&#x5927;&#x91CF;&#x6D88;&#x8017; CPU&#x3002;</p>
<p>&#x53D6;&#x800C;&#x4EE3;&#x4E4B;&#x7684;&#x662F;&#x4F7F;&#x7528;&#x4E00;&#x4E2A;&#x88AB;&#x79F0;&#x4E3A; <em>&#x5168;&#x5C40;&#x5E8F;&#x53F7;</em> &#x7684;&#x7ED3;&#x6784;&#x3002; &#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x662F;&#x4E00;&#x4E2A;&#x6784;&#x5EFA;&#x5728; fielddata &#x4E4B;&#x4E0A;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x5B83;&#x53EA;&#x5360;&#x7528;&#x5C11;&#x91CF;&#x5185;&#x5B58;&#x3002;&#x552F;&#x4E00;&#x503C;&#x662F; <em>&#x8DE8;&#x6240;&#x6709;&#x5206;&#x6BB5;</em> &#x8BC6;&#x522B;&#x7684;&#xFF0C;&#x7136;&#x540E;&#x5C06;&#x5B83;&#x4EEC;&#x5B58;&#x5165;&#x4E00;&#x4E2A;&#x5E8F;&#x53F7;&#x5217;&#x8868;&#x4E2D;&#xFF0C;&#x6B63;&#x5982;&#x6211;&#x4EEC;&#x63CF;&#x8FF0;&#x8FC7;&#x7684;&#x90A3;&#x6837;&#x3002;</p>
<p>&#x73B0;&#x5728;&#xFF0C; <code>terms</code> &#x805A;&#x5408;&#x53EF;&#x4EE5;&#x5BF9;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x8FDB;&#x884C;&#x805A;&#x5408;&#x64CD;&#x4F5C;&#xFF0C;&#x5C06;&#x5E8F;&#x53F7;&#x8F6C;&#x6362;&#x6210;&#x771F;&#x5B9E;&#x5B57;&#x7B26;&#x4E32;&#x503C;&#x7684;&#x8FC7;&#x7A0B;&#x53EA;&#x4F1A;&#x5728;&#x805A;&#x5408;&#x7ED3;&#x675F;&#x65F6;&#x53D1;&#x751F;&#x4E00;&#x6B21;&#x3002;&#x8FD9;&#x4F1A;&#x5C06;&#x805A;&#x5408;&#xFF08;&#x548C;&#x6392;&#x5E8F;&#xFF09;&#x7684;&#x6027;&#x80FD;&#x63D0;&#x9AD8;&#x4E09;&#x5230;&#x56DB;&#x500D;&#x3002;</p>
<p><strong>&#x6784;&#x5EFA;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#xFF08;Building global ordinals&#xFF09;</strong></p>
<p>&#x5F53;&#x7136;&#xFF0C;&#x5929;&#x4E0B;&#x6CA1;&#x6709;&#x514D;&#x8D39;&#x7684;&#x665A;&#x9910;&#x3002; &#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x5206;&#x5E03;&#x5728;&#x7D22;&#x5F15;&#x7684;&#x6240;&#x6709;&#x6BB5;&#x4E2D;&#xFF0C;&#x6240;&#x4EE5;&#x5982;&#x679C;&#x65B0;&#x589E;&#x6216;&#x5220;&#x9664;&#x4E00;&#x4E2A;&#x5206;&#x6BB5;&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x5BF9;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x8FDB;&#x884C;&#x91CD;&#x5EFA;&#x3002; &#x91CD;&#x5EFA;&#x9700;&#x8981;&#x8BFB;&#x53D6;&#x6BCF;&#x4E2A;&#x5206;&#x6BB5;&#x7684;&#x6BCF;&#x4E2A;&#x552F;&#x4E00;&#x9879;&#xFF0C;&#x57FA;&#x6570;&#x8D8A;&#x9AD8;&#xFF08;&#x5373;&#x5B58;&#x5728;&#x66F4;&#x591A;&#x7684;&#x552F;&#x4E00;&#x9879;&#xFF09;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x4F1A;&#x8D8A;&#x957F;&#x3002;</p>
<p>&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x662F;&#x6784;&#x5EFA;&#x5728;&#x5185;&#x5B58; fielddata &#x548C; doc values &#x4E4B;&#x4E0A;&#x7684;&#x3002;&#x5B9E;&#x9645;&#x4E0A;&#xFF0C;&#x5B83;&#x4EEC;&#x6B63;&#x662F; doc values &#x6027;&#x80FD;&#x8868;&#x73B0;&#x4E0D;&#x9519;&#x7684;&#x4E00;&#x4E2A;&#x4E3B;&#x8981;&#x539F;&#x56E0;&#x3002;</p>
<p>&#x548C; fielddata &#x52A0;&#x8F7D;&#x4E00;&#x6837;&#xFF0C;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x9ED8;&#x8BA4;&#x4E5F;&#x662F;&#x5EF6;&#x8FDF;&#x6784;&#x5EFA;&#x7684;&#x3002;&#x9996;&#x4E2A;&#x9700;&#x8981;&#x8BBF;&#x95EE;&#x7D22;&#x5F15;&#x5185; fielddata &#x7684;&#x8BF7;&#x6C42;&#x4F1A;&#x4FC3;&#x53D1;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x7684;&#x6784;&#x5EFA;&#x3002;&#x7531;&#x4E8E;&#x5B57;&#x6BB5;&#x7684;&#x57FA;&#x6570;&#x4E0D;&#x540C;&#xFF0C;&#x8FD9;&#x4F1A;&#x5BFC;&#x81F4;&#x7ED9;&#x7528;&#x6237;&#x5E26;&#x6765;&#x663E;&#x8457;&#x5EF6;&#x8FDF;&#x8FD9;&#x4E00;&#x7CDF;&#x7CD5;&#x7ED3;&#x679C;&#x3002;&#x4E00;&#x65E6;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x53D1;&#x751F;&#x91CD;&#x5EFA;&#xFF0C;&#x4ECD;&#x4F1A;&#x4F7F;&#x7528;&#x65E7;&#x7684;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#xFF0C;&#x76F4;&#x5230;&#x7D22;&#x5F15;&#x4E2D;&#x7684;&#x5206;&#x6BB5;&#x4EA7;&#x751F;&#x53D8;&#x5316;&#xFF1A;&#x5728;&#x5237;&#x65B0;&#x3001;&#x5199;&#x5165;&#x6216;&#x5408;&#x5E76;&#x4E4B;&#x540E;&#x3002;</p>
<p><strong>&#x9884;&#x6784;&#x5EFA;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#xFF08;Eager global ordinals&#xFF09;</strong></p>
<p>&#x5355;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5; &#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x9884;&#x5148;&#x6784;&#x5EFA;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#xFF1A;</p>
<pre><code class="lang-js">PUT /music/_mapping/_song
{
  <span class="hljs-string">&quot;song_title&quot;</span>: {
    <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
    <span class="hljs-string">&quot;fielddata&quot;</span>: {
      <span class="hljs-string">&quot;loading&quot;</span> : <span class="hljs-string">&quot;eager_global_ordinals&quot;</span>      &lt;<span class="hljs-number">1</span>&gt;
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8BBE;&#x7F6E; <code>eager_global_ordinals</code> &#x4E5F;&#x6697;&#x793A;&#x7740; fielddata &#x662F;&#x9884;&#x52A0;&#x8F7D;&#x7684;&#x3002;   </p>
</blockquote>
<p>&#x6B63;&#x5982; fielddata &#x7684;&#x9884;&#x52A0;&#x8F7D;&#x4E00;&#x6837;&#xFF0C;&#x9884;&#x6784;&#x5EFA;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x53D1;&#x751F;&#x5728;&#x65B0;&#x5206;&#x6BB5;&#x5BF9;&#x4E8E;&#x641C;&#x7D22;&#x53EF;&#x89C1;&#x4E4B;&#x524D;&#x3002;</p>
<blockquote>
<p> <img src="assets/note.png" alt="&#x6CE8;&#x610F;">  &#x5E8F;&#x53F7;&#x7684;&#x6784;&#x5EFA;&#x53EA;&#x88AB;&#x5E94;&#x7528;&#x4E8E;&#x5B57;&#x7B26;&#x4E32;&#x3002;&#x6570;&#x503C;&#x4FE1;&#x606F;&#xFF08;integers&#xFF08;&#x6574;&#x6570;&#xFF09;&#x3001;geopoints&#xFF08;&#x5730;&#x7406;&#x7ECF;&#x7EAC;&#x5EA6;&#xFF09;&#x3001;dates&#xFF08;&#x65E5;&#x671F;&#xFF09;&#x7B49;&#x7B49;&#xFF09;&#x4E0D;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x5E8F;&#x53F7;&#x6620;&#x5C04;&#xFF0C;&#x56E0;&#x4E3A;&#x8FD9;&#x4E9B;&#x503C;&#x81EA;&#x5DF1;&#x672C;&#x8D28;&#x4E0A;&#x5C31;&#x662F;&#x5E8F;&#x53F7;&#x6620;&#x5C04;&#x3002;  </p>
</blockquote>
<p>&#x56E0;&#x6B64;&#xFF0C;&#x6211;&#x4EEC;&#x53EA;&#x80FD;&#x4E3A;&#x5B57;&#x7B26;&#x4E32;&#x5B57;&#x6BB5;&#x9884;&#x6784;&#x5EFA;&#x5176;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x3002;</p>
<p>&#x4E5F;&#x53EF;&#x4EE5;&#x5BF9; Doc values &#x8FDB;&#x884C;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x9884;&#x6784;&#x5EFA;&#xFF1A;</p>
<pre><code class="lang-js">PUT /music/_mapping/_song
{
  <span class="hljs-string">&quot;song_title&quot;</span>: {
    <span class="hljs-string">&quot;type&quot;</span>:       <span class="hljs-string">&quot;string&quot;</span>,
    <span class="hljs-string">&quot;doc_values&quot;</span>: <span class="hljs-literal">true</span>,
    <span class="hljs-string">&quot;fielddata&quot;</span>: {
      <span class="hljs-string">&quot;loading&quot;</span> : <span class="hljs-string">&quot;eager_global_ordinals&quot;</span>       &lt;<span class="hljs-number">1</span>&gt;
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;fielddata &#x6CA1;&#x6709;&#x8F7D;&#x5165;&#x5230;&#x5185;&#x5B58;&#x4E2D;&#xFF0C;&#x800C;&#x662F; doc values &#x88AB;&#x8F7D;&#x5165;&#x5230;&#x6587;&#x4EF6;&#x7CFB;&#x7EDF;&#x7F13;&#x5B58;&#x4E2D;&#x3002;   </p>
</blockquote>
<p>&#x4E0E; fielddata &#x9884;&#x52A0;&#x8F7D;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x9884;&#x5EFA;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x4F1A;&#x5BF9;&#x6570;&#x636E;&#x7684; <em>&#x5B9E;&#x65F6;&#x6027;</em> &#x4EA7;&#x751F;&#x5F71;&#x54CD;&#xFF0C;&#x6784;&#x5EFA;&#x4E00;&#x4E2A;&#x9AD8;&#x57FA;&#x6570;&#x7684;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x4F1A;&#x4F7F;&#x4E00;&#x4E2A;&#x5237;&#x65B0;&#x5EF6;&#x65F6;&#x6570;&#x79D2;&#x3002; &#x9009;&#x62E9;&#x5728;&#x4E8E;&#x662F;&#x6BCF;&#x6B21;&#x5237;&#x65B0;&#x65F6;&#x4ED8;&#x51FA;&#x4EE3;&#x4EF7;&#xFF0C;&#x8FD8;&#x662F;&#x5728;&#x5237;&#x65B0;&#x540E;&#x7684;&#x7B2C;&#x4E00;&#x6B21;&#x67E5;&#x8BE2;&#x65F6;&#x3002;&#x5982;&#x679C;&#x7ECF;&#x5E38;&#x7D22;&#x5F15;&#x800C;&#x67E5;&#x8BE2;&#x8F83;&#x5C11;&#xFF0C;&#x90A3;&#x4E48;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x4ED8;&#x51FA;&#x4EE3;&#x4EF7;&#x8981;&#x6BD4;&#x6BCF;&#x6B21;&#x5237;&#x65B0;&#x65F6;&#x8981;&#x597D;&#x3002;&#x5982;&#x679C;&#x5199;&#x5927;&#x4E8E;&#x8BFB;&#xFF0C;&#x90A3;&#x4E48;&#x5728;&#x9009;&#x62E9;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x91CD;&#x5EFA;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x5C06;&#x4F1A;&#x662F;&#x4E00;&#x4E2A;&#x66F4;&#x597D;&#x7684;&#x9009;&#x62E9;&#x3002;</p>
<blockquote>
<p> <img src="assets/tip.png" alt="&#x63D0;&#x793A;">  &#x9488;&#x5BF9;&#x5B9E;&#x9645;&#x573A;&#x666F;&#x4F18;&#x5316;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x7684;&#x91CD;&#x5EFA;&#x9891;&#x6B21;&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x6709;&#x9AD8;&#x57FA;&#x6570;&#x5B57;&#x6BB5;&#x9700;&#x8981;&#x82B1;&#x6570;&#x79D2;&#x949F;&#x91CD;&#x5EFA;&#xFF0C;&#x589E;&#x52A0; <code>refresh_interval</code> &#x7684;&#x5237;&#x65B0;&#x7684;&#x65F6;&#x95F4;&#x4ECE;&#x800C;&#x53EF;&#x4EE5;&#x4F7F;&#x6211;&#x4EEC;&#x7684;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x4FDD;&#x7559;&#x66F4;&#x957F;&#x7684;&#x6709;&#x6548;&#x671F;&#xFF0C;&#x8FD9;&#x4E5F;&#x4F1A;&#x8282;&#x7701; CPU &#x8D44;&#x6E90;&#xFF0C;&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x91CD;&#x5EFA;&#x7684;&#x9891;&#x6B21;&#x4E0B;&#x964D;&#x4E86;&#x3002;  </p>
</blockquote>
<p><strong>&#x7D22;&#x5F15;&#x9884;&#x70ED;&#x5668;&#xFF08;Index Warmers&#xFF09;</strong></p>
<p>&#x6700;&#x540E;&#x6211;&#x4EEC;&#x8C08;&#x8C08; <em>&#x7D22;&#x5F15;&#x9884;&#x70ED;&#x5668;</em> &#x3002;&#x9884;&#x70ED;&#x5668;&#x65E9;&#x4E8E; fielddata &#x9884;&#x52A0;&#x8F7D;&#x548C;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x9884;&#x52A0;&#x8F7D;&#x4E4B;&#x524D;&#x51FA;&#x73B0;&#xFF0C;&#x5B83;&#x4EEC;&#x4ECD;&#x7136;&#x6709;&#x5176;&#x5B58;&#x5728;&#x7684;&#x7406;&#x7531;&#x3002;&#x4E00;&#x4E2A;&#x7D22;&#x5F15;&#x9884;&#x70ED;&#x5668;&#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x6307;&#x5B9A;&#x4E00;&#x4E2A;&#x67E5;&#x8BE2;&#x548C;&#x805A;&#x5408;&#x987B;&#x8981;&#x5728;&#x65B0;&#x5206;&#x7247;&#x5BF9;&#x4E8E;&#x641C;&#x7D22;&#x53EF;&#x89C1;&#x4E4B;&#x524D;&#x6267;&#x884C;&#x3002; &#x8FD9;&#x4E2A;&#x60F3;&#x6CD5;&#x662F;&#x901A;&#x8FC7;&#x9884;&#x5148;&#x586B;&#x5145;&#x6216; <em>&#x9884;&#x70ED;&#x7F13;&#x5B58;</em> &#x8BA9;&#x7528;&#x6237;&#x6C38;&#x8FDC;&#x65E0;&#x6CD5;&#x9047;&#x5230;&#x5EF6;&#x8FDF;&#x7684;&#x6CE2;&#x5CF0;&#x3002;</p>
<p>&#x539F;&#x6765;&#xFF0C;&#x9884;&#x70ED;&#x5668;&#x6700;&#x91CD;&#x8981;&#x7684;&#x7528;&#x6CD5;&#x662F;&#x786E;&#x4FDD; fielddata &#x88AB;&#x9884;&#x5148;&#x52A0;&#x8F7D;&#xFF0C;&#x56E0;&#x4E3A;&#x8FD9;&#x901A;&#x5E38;&#x662F;&#x6700;&#x8017;&#x65F6;&#x7684;&#x4E00;&#x6B65;&#x3002;&#x73B0;&#x5728;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x524D;&#x9762;&#x8BA8;&#x8BBA;&#x7684;&#x90A3;&#x4E9B;&#x6280;&#x672F;&#x6765;&#x66F4;&#x597D;&#x7684;&#x63A7;&#x5236;&#x5B83;&#xFF0C;&#x4F46;&#x662F;&#x9884;&#x70ED;&#x5668;&#x8FD8;&#x662F;&#x53EF;&#x4EE5;&#x7528;&#x6765;&#x9884;&#x5EFA;&#x8FC7;&#x6EE4;&#x5668;&#x7F13;&#x5B58;&#xFF0C;&#x5F53;&#x7136;&#x6211;&#x4EEC;&#x4E5F;&#x8FD8;&#x662F;&#x80FD;&#x9009;&#x62E9;&#x7528;&#x5B83;&#x6765;&#x9884;&#x52A0;&#x8F7D; fielddata&#x3002;</p>
<p>&#x8BA9;&#x6211;&#x4EEC;&#x6CE8;&#x518C;&#x4E00;&#x4E2A;&#x9884;&#x70ED;&#x5668;&#x7136;&#x540E;&#x89E3;&#x91CA;&#x53D1;&#x751F;&#x4E86;&#x4EC0;&#x4E48;&#xFF1A;</p>
<pre><code class="lang-js">PUT /music/_warmer/warmer_1                            &lt;<span class="hljs-number">1</span>&gt;
{
  <span class="hljs-string">&quot;query&quot;</span> : {
    <span class="hljs-string">&quot;bool&quot;</span> : {
      <span class="hljs-string">&quot;filter&quot;</span> : {
        <span class="hljs-string">&quot;bool&quot;</span>: {
          <span class="hljs-string">&quot;should&quot;</span>: [ 
            { <span class="hljs-string">&quot;term&quot;</span>: { <span class="hljs-string">&quot;tag&quot;</span>: <span class="hljs-string">&quot;rock&quot;</span>        }},
            { <span class="hljs-string">&quot;term&quot;</span>: { <span class="hljs-string">&quot;tag&quot;</span>: <span class="hljs-string">&quot;hiphop&quot;</span>      }},
            { <span class="hljs-string">&quot;term&quot;</span>: { <span class="hljs-string">&quot;tag&quot;</span>: <span class="hljs-string">&quot;electronics&quot;</span> }}
          ]
        }
      }
    }
  },
  <span class="hljs-string">&quot;aggs&quot;</span> : {
    <span class="hljs-string">&quot;price&quot;</span> : {
      <span class="hljs-string">&quot;histogram&quot;</span> : {
        <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;price&quot;</span>,                               <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">3</span>&gt;</span>
        &quot;interval&quot; : 10
      }
    }
  }
}
</span></code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x9884;&#x70ED;&#x5668;&#x88AB;&#x5173;&#x8054;&#x5230;&#x7D22;&#x5F15;&#xFF08; <code>music</code> &#xFF09;&#x4E0A;&#xFF0C;&#x4F7F;&#x7528;&#x63A5;&#x5165;&#x53E3; <code>_warmer</code> &#x4EE5;&#x53CA; ID &#xFF08; <code>warmer_1</code> &#xFF09;&#x3002;   </p>
<p> <img src="assets/2.png" alt="img">  &#x4E3A;&#x4E09;&#x79CD;&#x6700;&#x53D7;&#x6B22;&#x8FCE;&#x7684;&#x66F2;&#x98CE;&#x9884;&#x5EFA;&#x8FC7;&#x6EE4;&#x5668;&#x7F13;&#x5B58;&#x3002;         </p>
<p> <img src="assets/3.png" alt="img">  &#x5B57;&#x6BB5; price &#x7684; fielddata &#x548C;&#x5168;&#x5C40;&#x5E8F;&#x53F7;&#x4F1A;&#x88AB;&#x9884;&#x52A0;&#x8F7D;&#x3002;     </p>
</blockquote>
<p>&#x9884;&#x70ED;&#x5668;&#x662F;&#x6839;&#x636E;&#x5177;&#x4F53;&#x7D22;&#x5F15;&#x6CE8;&#x518C;&#x7684;&#xFF0C; &#x6BCF;&#x4E2A;&#x9884;&#x70ED;&#x5668;&#x90FD;&#x6709;&#x552F;&#x4E00;&#x7684; ID &#xFF0C;&#x56E0;&#x4E3A;&#x6BCF;&#x4E2A;&#x7D22;&#x5F15;&#x53EF;&#x80FD;&#x6709;&#x591A;&#x4E2A;&#x9884;&#x70ED;&#x5668;&#x3002;</p>
<p>&#x7136;&#x540E;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x6307;&#x5B9A;&#x67E5;&#x8BE2;&#xFF0C;&#x4EFB;&#x4F55;&#x67E5;&#x8BE2;&#x3002;&#x5B83;&#x53EF;&#x4EE5;&#x5305;&#x62EC;&#x67E5;&#x8BE2;&#x3001;&#x8FC7;&#x6EE4;&#x5668;&#x3001;&#x805A;&#x5408;&#x3001;&#x6392;&#x5E8F;&#x503C;&#x3001;&#x811A;&#x672C;&#xFF0C;&#x4EFB;&#x4F55;&#x6709;&#x6548;&#x7684;&#x67E5;&#x8BE2;&#x8868;&#x8FBE;&#x5F0F;&#x90FD;&#x6BEB;&#x4E0D;&#x5938;&#x5F20;&#x3002; &#x8FD9;&#x91CC;&#x7684;&#x76EE;&#x7684;&#x662F;&#x60F3;&#x6CE8;&#x518C;&#x90A3;&#x4E9B;&#x53EF;&#x4EE5;&#x4EE3;&#x8868;&#x7528;&#x6237;&#x4EA7;&#x751F;&#x6D41;&#x91CF;&#x538B;&#x529B;&#x7684;&#x67E5;&#x8BE2;&#xFF0C;&#x4ECE;&#x800C;&#x5C06;&#x5408;&#x9002;&#x7684;&#x5185;&#x5BB9;&#x8F7D;&#x5165;&#x7F13;&#x5B58;&#x3002;</p>
<p>&#x5F53;&#x65B0;&#x5EFA;&#x4E00;&#x4E2A;&#x5206;&#x6BB5;&#x65F6;&#xFF0C;Elasticsearch &#x5C06;&#x4F1A;&#x6267;&#x884C;&#x6CE8;&#x518C;&#x5728;&#x9884;&#x70ED;&#x5668;&#x4E2D;&#x7684;&#x67E5;&#x8BE2;&#x3002;&#x6267;&#x884C;&#x8FD9;&#x4E9B;&#x67E5;&#x8BE2;&#x4F1A;&#x5F3A;&#x5236;&#x52A0;&#x8F7D;&#x7F13;&#x5B58;&#xFF0C;&#x53EA;&#x6709;&#x5728;&#x6240;&#x6709;&#x9884;&#x70ED;&#x5668;&#x6267;&#x884C;&#x5B8C;&#xFF0C;&#x8FD9;&#x4E2A;&#x5206;&#x6BB5;&#x624D;&#x4F1A;&#x5BF9;&#x641C;&#x7D22;&#x53EF;&#x89C1;&#x3002;</p>
<blockquote>
<p> <img src="assets/warning.png" alt="&#x8B66;&#x544A;">  &#x4E0E;&#x9884;&#x52A0;&#x8F7D;&#x7C7B;&#x4F3C;&#xFF0C;&#x9884;&#x70ED;&#x5668;&#x53EA;&#x662F;&#x5C06;&#x51B7;&#x7F13;&#x5B58;&#x7684;&#x4EE3;&#x4EF7;&#x8F6C;&#x79FB;&#x5230;&#x5237;&#x65B0;&#x7684;&#x65F6;&#x5019;&#x3002;&#x5F53;&#x6CE8;&#x518C;&#x9884;&#x70ED;&#x5668;&#x65F6;&#xFF0C;&#x505A;&#x51FA;&#x660E;&#x667A;&#x7684;&#x51B3;&#x5B9A;&#x5341;&#x5206;&#x91CD;&#x8981;&#x3002; &#x4E3A;&#x4E86;&#x786E;&#x4FDD;&#x6BCF;&#x4E2A;&#x7F13;&#x5B58;&#x90FD;&#x88AB;&#x8BFB;&#x5165;&#xFF0C;&#x6211;&#x4EEC; <em>&#x53EF;&#x4EE5;</em> &#x52A0;&#x5165;&#x4E0A;&#x5343;&#x7684;&#x9884;&#x70ED;&#x5668;&#xFF0C;&#x4F46;&#x8FD9;&#x4E5F;&#x4F1A;&#x4F7F;&#x65B0;&#x5206;&#x6BB5;&#x5BF9;&#x4E8E;&#x641C;&#x7D22;&#x53EF;&#x89C1;&#x7684;&#x65F6;&#x95F4;&#x6025;&#x5267;&#x4E0A;&#x5347;&#x3002;  </p>
<p> &#x5B9E;&#x9645;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x4F1A;&#x9009;&#x62E9;&#x5C11;&#x91CF;&#x4EE3;&#x8868;&#x5927;&#x591A;&#x6570;&#x7528;&#x6237;&#x7684;&#x67E5;&#x8BE2;&#xFF0C;&#x7136;&#x540E;&#x6CE8;&#x518C;&#x5B83;&#x4EEC;&#x3002;  </p>
</blockquote>
<p>&#x6709;&#x4E9B;&#x7BA1;&#x7406;&#x7684;&#x7EC6;&#x8282;&#xFF08;&#x6BD4;&#x5982;&#x83B7;&#x5F97;&#x5DF2;&#x6709;&#x9884;&#x70ED;&#x5668;&#x548C;&#x5220;&#x9664;&#x9884;&#x70ED;&#x5668;&#xFF09;&#x6CA1;&#x6709;&#x5728;&#x672C;&#x5C0F;&#x8282;&#x63D0;&#x5230;&#xFF0C;&#x5269;&#x4E0B;&#x7684;&#x8BE6;&#x7EC6;&#x5185;&#x5BB9;&#x53EF;&#x4EE5;&#x53C2;&#x8003; <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.6/indices-warmers.html" target="_blank">&#x9884;&#x70ED;&#x5668;&#x6587;&#x6863;&#xFF08;warmers documentation&#xFF09;</a> &#x3002;</p>
<h3 id="&#x4F18;&#x5316;&#x805A;&#x5408;&#x67E5;&#x8BE2;"><a name="&#x4F18;&#x5316;&#x805A;&#x5408;&#x67E5;&#x8BE2;" class="anchor-navigation-ex-anchor" href="#&#x4F18;&#x5316;&#x805A;&#x5408;&#x67E5;&#x8BE2;"><i class="fa fa-link" aria-hidden="true"></i></a>&#x4F18;&#x5316;&#x805A;&#x5408;&#x67E5;&#x8BE2;</h3>
<p>&#x201C;elasticsearch &#x91CC;&#x9762;&#x6876;&#x7684;&#x53EB;&#x6CD5;&#x548C; SQL &#x91CC;&#x9762;&#x5206;&#x7EC4;&#x7684;&#x6982;&#x5FF5;&#x662F;&#x7C7B;&#x4F3C;&#x7684;&#xFF0C;&#x4E00;&#x4E2A;&#x6876;&#x5C31;&#x7C7B;&#x4F3C; SQL &#x91CC;&#x9762;&#x7684;&#x4E00;&#x4E2A; group&#xFF0C;&#x591A;&#x7EA7;&#x5D4C;&#x5957;&#x7684; aggregation&#xFF0C; &#x7C7B;&#x4F3C; SQL &#x91CC;&#x9762;&#x7684;&#x591A;&#x5B57;&#x6BB5;&#x5206;&#x7EC4;&#xFF08;group by field1,field2, &#x2026;..&#xFF09;&#xFF0C;&#x6CE8;&#x610F;&#x8FD9;&#x91CC;&#x4EC5;&#x4EC5;&#x662F;&#x6982;&#x5FF5;&#x7C7B;&#x4F3C;&#xFF0C;&#x5E95;&#x5C42;&#x7684;&#x5B9E;&#x73B0;&#x539F;&#x7406;&#x662F;&#x4E0D;&#x4E00;&#x6837;&#x7684;&#x3002; &#xFF0D;&#x8BD1;&#x8005;&#x6CE8;&#x201D;</p>
<p><code>terms</code> &#x6876;&#x57FA;&#x4E8E;&#x6211;&#x4EEC;&#x7684;&#x6570;&#x636E;&#x52A8;&#x6001;&#x6784;&#x5EFA;&#x6876;&#xFF1B;&#x5B83;&#x5E76;&#x4E0D;&#x77E5;&#x9053;&#x5230;&#x5E95;&#x751F;&#x6210;&#x4E86;&#x591A;&#x5C11;&#x6876;&#x3002; &#x5927;&#x591A;&#x6570;&#x65F6;&#x5019;&#x5BF9;&#x5355;&#x4E2A;&#x5B57;&#x6BB5;&#x7684;&#x805A;&#x5408;&#x67E5;&#x8BE2;&#x8FD8;&#x662F;&#x975E;&#x5E38;&#x5FEB;&#x7684;&#xFF0C; &#x4F46;&#x662F;&#x5F53;&#x9700;&#x8981;&#x540C;&#x65F6;&#x805A;&#x5408;&#x591A;&#x4E2A;&#x5B57;&#x6BB5;&#x65F6;&#xFF0C;&#x5C31;&#x53EF;&#x80FD;&#x4F1A;&#x4EA7;&#x751F;&#x5927;&#x91CF;&#x7684;&#x5206;&#x7EC4;&#xFF0C;&#x6700;&#x7EC8;&#x7ED3;&#x679C;&#x5C31;&#x662F;&#x5360;&#x7528; es &#x5927;&#x91CF;&#x5185;&#x5B58;&#xFF0C;&#x4ECE;&#x800C;&#x5BFC;&#x81F4; OOM &#x7684;&#x60C5;&#x51B5;&#x53D1;&#x751F;&#x3002;</p>
<p>&#x5047;&#x8BBE;&#x6211;&#x4EEC;&#x73B0;&#x5728;&#x6709;&#x4E00;&#x4E9B;&#x5173;&#x4E8E;&#x7535;&#x5F71;&#x7684;&#x6570;&#x636E;&#x96C6;&#xFF0C;&#x6BCF;&#x6761;&#x6570;&#x636E;&#x91CC;&#x9762;&#x4F1A;&#x6709;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x7C7B;&#x578B;&#x7684;&#x5B57;&#x6BB5;&#x5B58;&#x50A8;&#x8868;&#x6F14;&#x8BE5;&#x7535;&#x5F71;&#x7684;&#x6240;&#x6709;&#x6F14;&#x5458;&#x7684;&#x540D;&#x5B57;&#x3002;</p>
<pre><code class="lang-js">{
  <span class="hljs-string">&quot;actors&quot;</span> : [
    <span class="hljs-string">&quot;Fred Jones&quot;</span>,
    <span class="hljs-string">&quot;Mary Jane&quot;</span>,
    <span class="hljs-string">&quot;Elizabeth Worthing&quot;</span>
  ]
}
</code></pre>
<p>&#x5982;&#x679C;&#x6211;&#x4EEC;&#x60F3;&#x8981;&#x67E5;&#x8BE2;&#x51FA;&#x6F14;&#x5F71;&#x7247;&#x6700;&#x591A;&#x7684;&#x5341;&#x4E2A;&#x6F14;&#x5458;&#x4EE5;&#x53CA;&#x4E0E;&#x4ED6;&#x4EEC;&#x5408;&#x4F5C;&#x6700;&#x591A;&#x7684;&#x6F14;&#x5458;&#xFF0C;&#x4F7F;&#x7528;&#x805A;&#x5408;&#x662F;&#x975E;&#x5E38;&#x7B80;&#x5355;&#x7684;&#xFF1A;</p>
<pre><code class="lang-js">{
  <span class="hljs-string">&quot;aggs&quot;</span> : {
    <span class="hljs-string">&quot;actors&quot;</span> : {
      <span class="hljs-string">&quot;terms&quot;</span> : {
         <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;actors&quot;</span>,
         <span class="hljs-string">&quot;size&quot;</span> :  <span class="hljs-number">10</span>
      },
      <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;costars&quot;</span> : {
          <span class="hljs-string">&quot;terms&quot;</span> : {
            <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;actors&quot;</span>,
            <span class="hljs-string">&quot;size&quot;</span> :  <span class="hljs-number">5</span>
          }
        }
      }
    }
  }
}
</code></pre>
<p>&#x8FD9;&#x4F1A;&#x8FD4;&#x56DE;&#x524D;&#x5341;&#x4F4D;&#x51FA;&#x6F14;&#x6700;&#x591A;&#x7684;&#x6F14;&#x5458;&#xFF0C;&#x4EE5;&#x53CA;&#x4E0E;&#x4ED6;&#x4EEC;&#x5408;&#x4F5C;&#x6700;&#x591A;&#x7684;&#x4E94;&#x4F4D;&#x6F14;&#x5458;&#x3002;&#x8FD9;&#x770B;&#x8D77;&#x6765;&#x662F;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;&#x805A;&#x5408;&#x67E5;&#x8BE2;&#xFF0C;&#x6700;&#x7EC8;&#x53EA;&#x8FD4;&#x56DE; 50 &#x6761;&#x6570;&#x636E;&#xFF01;</p>
<p>&#x4F46;&#x662F;&#xFF0C; &#x8FD9;&#x4E2A;&#x770B;&#x4E0A;&#x53BB;&#x7B80;&#x5355;&#x7684;&#x67E5;&#x8BE2;&#x53EF;&#x4EE5;&#x8F7B;&#x800C;&#x6613;&#x4E3E;&#x5730;&#x6D88;&#x8017;&#x5927;&#x91CF;&#x5185;&#x5B58;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x6784;&#x5EFA;&#x4E00;&#x4E2A;&#x6811;&#x6765;&#x67E5;&#x770B;&#x8FD9;&#x4E2A; <code>terms</code> &#x805A;&#x5408;&#x3002; <code>actors</code> &#x805A;&#x5408;&#x4F1A;&#x6784;&#x5EFA;&#x6811;&#x7684;&#x7B2C;&#x4E00;&#x5C42;&#xFF0C;&#x6BCF;&#x4E2A;&#x6F14;&#x5458;&#x90FD;&#x6709;&#x4E00;&#x4E2A;&#x6876;&#x3002;&#x7136;&#x540E;&#xFF0C;&#x5185;&#x5957;&#x5728;&#x7B2C;&#x4E00;&#x5C42;&#x7684;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x4E4B;&#x4E0B;&#xFF0C; <code>costar</code> &#x805A;&#x5408;&#x4F1A;&#x6784;&#x5EFA;&#x7B2C;&#x4E8C;&#x5C42;&#xFF0C;&#x6BCF;&#x4E2A;&#x8054;&#x5408;&#x51FA;&#x6F14;&#x4E00;&#x4E2A;&#x6876;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html#depth-first-1" target="_blank">&#x56FE; 42 &#x201C;Build full depth tree&#x201D;</a> &#x6240;&#x793A;&#x3002;&#x8FD9;&#x610F;&#x5473;&#x7740;&#x6BCF;&#x90E8;&#x5F71;&#x7247;&#x4F1A;&#x751F;&#x6210; n2 &#x4E2A;&#x6876;&#xFF01;</p>
<p><strong>&#x56FE; 42. Build full depth tree</strong></p>
<p><img src="assets/300_120_depth_first_1.svg" alt="Build full depth tree"></p>
<p>&#x7528;&#x771F;&#x5B9E;&#x70B9;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x8BBE;&#x60F3;&#x5E73;&#x5747;&#x6BCF;&#x90E8;&#x5F71;&#x7247;&#x6709; 10 &#x540D;&#x6F14;&#x5458;&#xFF0C;&#x6BCF;&#x90E8;&#x5F71;&#x7247;&#x5C31;&#x4F1A;&#x751F;&#x6210; 102 == 100 &#x4E2A;&#x6876;&#x3002;&#x5982;&#x679C;&#x603B;&#x5171;&#x6709; 20&#xFF0C;000 &#x90E8;&#x5F71;&#x7247;&#xFF0C;&#x7C97;&#x7387;&#x8BA1;&#x7B97;&#x5C31;&#x4F1A;&#x751F;&#x6210; 2&#xFF0C;000&#xFF0C;000 &#x4E2A;&#x6876;&#x3002;</p>
<p>&#x73B0;&#x5728;&#xFF0C;&#x8BB0;&#x4F4F;&#xFF0C;&#x805A;&#x5408;&#x53EA;&#x662F;&#x7B80;&#x5355;&#x7684;&#x5E0C;&#x671B;&#x5F97;&#x5230;&#x524D;&#x5341;&#x4F4D;&#x6F14;&#x5458;&#x548C;&#x4E0E;&#x4ED6;&#x4EEC;&#x8054;&#x5408;&#x51FA;&#x6F14;&#x8005;&#xFF0C;&#x603B;&#x5171; 50 &#x6761;&#x6570;&#x636E;&#x3002;&#x4E3A;&#x4E86;&#x5F97;&#x5230;&#x6700;&#x7EC8;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x6211;&#x4EEC;&#x521B;&#x5EFA;&#x4E86;&#x4E00;&#x4E2A;&#x6709; 2&#xFF0C;000&#xFF0C;000 &#x6876;&#x7684;&#x6811;&#xFF0C;&#x7136;&#x540E;&#x5BF9;&#x5176;&#x6392;&#x5E8F;&#xFF0C;&#x53D6; top10&#x3002; &#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html#depth-first-2" target="_blank">&#x56FE; 43 &#x201C;Sort tree&#x201D;</a> &#x548C;&#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html#depth-first-3" target="_blank">&#x56FE; 44 &#x201C;Prune tree&#x201D;</a> &#x5BF9;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x8FDB;&#x884C;&#x4E86;&#x9610;&#x8FF0;&#x3002;</p>
<p><strong>&#x56FE; 43. Sort tree</strong></p>
<p><img src="assets/300_120_depth_first_2.svg" alt="Sort tree"></p>
<p><strong>&#x56FE; 44. Prune tree</strong></p>
<p><img src="assets/300_120_depth_first_3.svg" alt="Prune tree"></p>
<p>&#x8FD9;&#x65F6;&#x6211;&#x4EEC;&#x4E00;&#x5B9A;&#x975E;&#x5E38;&#x6293;&#x72C2;&#xFF0C;&#x5728; 2 &#x4E07;&#x6761;&#x6570;&#x636E;&#x4E0B;&#x6267;&#x884C;&#x4EFB;&#x4F55;&#x805A;&#x5408;&#x67E5;&#x8BE2;&#x90FD;&#x662F;&#x6BEB;&#x65E0;&#x538B;&#x529B;&#x7684;&#x3002;&#x5982;&#x679C;&#x6211;&#x4EEC;&#x6709; 2 &#x4EBF;&#x6587;&#x6863;&#xFF0C;&#x60F3;&#x8981;&#x5F97;&#x5230;&#x524D; 100 &#x4F4D;&#x6F14;&#x5458;&#x4EE5;&#x53CA;&#x4E0E;&#x4ED6;&#x4EEC;&#x5408;&#x4F5C;&#x6700;&#x591A;&#x7684; 20 &#x4F4D;&#x6F14;&#x5458;&#xFF0C;&#x4F5C;&#x4E3A;&#x67E5;&#x8BE2;&#x7684;&#x6700;&#x7EC8;&#x7ED3;&#x679C;&#x4F1A;&#x51FA;&#x73B0;&#x4EC0;&#x4E48;&#x60C5;&#x51B5;&#x5462;&#xFF1F;</p>
<p>&#x53EF;&#x4EE5;&#x63A8;&#x6D4B;&#x805A;&#x5408;&#x51FA;&#x6765;&#x7684;&#x5206;&#x7EC4;&#x6570;&#x975E;&#x5E38;&#x5927;&#xFF0C;&#x4F1A;&#x4F7F;&#x8FD9;&#x79CD;&#x7B56;&#x7565;&#x96BE;&#x4EE5;&#x7EF4;&#x6301;&#x3002;&#x4E16;&#x754C;&#x4E0A;&#x5E76;&#x4E0D;&#x5B58;&#x5728;&#x8DB3;&#x591F;&#x7684;&#x5185;&#x5B58;&#x6765;&#x652F;&#x6301;&#x8FD9;&#x79CD;&#x4E0D;&#x53D7;&#x63A7;&#x5236;&#x7684;&#x805A;&#x5408;&#x67E5;&#x8BE2;&#x3002;</p>
<p><strong>&#x6DF1;&#x5EA6;&#x4F18;&#x5148;&#x4E0E;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#xFF08;Depth-First Versus Breadth-First&#xFF09;</strong></p>
<p>Elasticsearch &#x5141;&#x8BB8;&#x6211;&#x4EEC;&#x6539;&#x53D8;&#x805A;&#x5408;&#x7684; <em>&#x96C6;&#x5408;&#x6A21;&#x5F0F;</em> &#xFF0C;&#x5C31;&#x662F;&#x4E3A;&#x4E86;&#x5E94;&#x5BF9;&#x8FD9;&#x79CD;&#x72B6;&#x51B5;&#x3002; &#x6211;&#x4EEC;&#x4E4B;&#x524D;&#x5C55;&#x793A;&#x7684;&#x7B56;&#x7565;&#x53EB;&#x505A; <em>&#x6DF1;&#x5EA6;&#x4F18;&#x5148;</em> &#xFF0C;&#x5B83;&#x662F;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#xFF0C; &#x5148;&#x6784;&#x5EFA;&#x5B8C;&#x6574;&#x7684;&#x6811;&#xFF0C;&#x7136;&#x540E;&#x4FEE;&#x526A;&#x65E0;&#x7528;&#x8282;&#x70B9;&#x3002; <em>&#x6DF1;&#x5EA6;&#x4F18;&#x5148;</em> &#x7684;&#x65B9;&#x5F0F;&#x5BF9;&#x4E8E;&#x5927;&#x591A;&#x6570;&#x805A;&#x5408;&#x90FD;&#x80FD;&#x6B63;&#x5E38;&#x5DE5;&#x4F5C;&#xFF0C;&#x4F46;&#x5BF9;&#x4E8E;&#x5982;&#x6211;&#x4EEC;&#x6F14;&#x5458;&#x548C;&#x8054;&#x5408;&#x6F14;&#x5458;&#x8FD9;&#x6837;&#x4F8B;&#x5B50;&#x7684;&#x60C5;&#x5F62;&#x5C31;&#x4E0D;&#x592A;&#x9002;&#x7528;&#x3002;</p>
<p>&#x4E3A;&#x4E86;&#x5E94;&#x5BF9;&#x8FD9;&#x4E9B;&#x7279;&#x6B8A;&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF0C;&#x6211;&#x4EEC;&#x5E94;&#x8BE5;&#x4F7F;&#x7528;&#x53E6;&#x4E00;&#x79CD;&#x96C6;&#x5408;&#x7B56;&#x7565;&#x53EB;&#x505A; <em>&#x5E7F;&#x5EA6;&#x4F18;&#x5148;</em> &#x3002;&#x8FD9;&#x79CD;&#x7B56;&#x7565;&#x7684;&#x5DE5;&#x4F5C;&#x65B9;&#x5F0F;&#x6709;&#x4E9B;&#x4E0D;&#x540C;&#xFF0C;&#x5B83;&#x5148;&#x6267;&#x884C;&#x7B2C;&#x4E00;&#x5C42;&#x805A;&#x5408;&#xFF0C; <em>&#x518D;</em> &#x7EE7;&#x7EED;&#x4E0B;&#x4E00;&#x5C42;&#x805A;&#x5408;&#x4E4B;&#x524D;&#x4F1A;&#x5148;&#x505A;&#x4FEE;&#x526A;&#x3002; &#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html#breadth-first-1" target="_blank">&#x56FE; 45 &#x201C;Build first level&#x201D;</a> &#x548C;&#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html#breadth-first-3" target="_blank">&#x56FE; 47 &#x201C;Prune first level&#x201D;</a> &#x5BF9;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x8FDB;&#x884C;&#x4E86;&#x9610;&#x8FF0;&#x3002;</p>
<p>&#x5728;&#x6211;&#x4EEC;&#x7684;&#x793A;&#x4F8B;&#x4E2D;&#xFF0C; <code>actors</code> &#x805A;&#x5408;&#x4F1A;&#x9996;&#x5148;&#x6267;&#x884C;&#xFF0C;&#x5728;&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#xFF0C;&#x6211;&#x4EEC;&#x7684;&#x6811;&#x53EA;&#x6709;&#x4E00;&#x5C42;&#xFF0C;&#x4F46;&#x6211;&#x4EEC;&#x5DF2;&#x7ECF;&#x77E5;&#x9053;&#x4E86;&#x524D; 10 &#x4F4D;&#x7684;&#x6F14;&#x5458;&#xFF01;&#x8FD9;&#x5C31;&#x6CA1;&#x6709;&#x5FC5;&#x8981;&#x4FDD;&#x7559;&#x5176;&#x4ED6;&#x7684;&#x6F14;&#x5458;&#x4FE1;&#x606F;&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x4EEC;&#x65E0;&#x8BBA;&#x5982;&#x4F55;&#x90FD;&#x4E0D;&#x4F1A;&#x51FA;&#x73B0;&#x5728;&#x524D;&#x5341;&#x4F4D;&#x4E2D;&#x3002;</p>
<p><strong>&#x56FE; 45. Build first level</strong></p>
<p><img src="assets/300_120_breadth_first_1.svg" alt="Build first level"></p>
<p><strong>&#x56FE; 46. Sort first level</strong></p>
<p><img src="assets/300_120_breadth_first_2.svg" alt="Sort first level"></p>
<p><strong>&#x56FE; 47. Prune first level</strong></p>
<p><img src="assets/300_120_breadth_first_3.svg" alt="Prune first level"></p>
<p>&#x56E0;&#x4E3A;&#x6211;&#x4EEC;&#x5DF2;&#x7ECF;&#x77E5;&#x9053;&#x4E86;&#x524D;&#x5341;&#x540D;&#x6F14;&#x5458;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x5B89;&#x5168;&#x7684;&#x4FEE;&#x526A;&#x5176;&#x4ED6;&#x8282;&#x70B9;&#x3002;&#x4FEE;&#x526A;&#x540E;&#xFF0C;&#x4E0B;&#x4E00;&#x5C42;&#x662F;&#x57FA;&#x4E8E; <em>&#x5B83;&#x7684;</em> &#x6267;&#x884C;&#x6A21;&#x5F0F;&#x8BFB;&#x5165;&#x7684;&#xFF0C;&#x91CD;&#x590D;&#x6267;&#x884C;&#x8FD9;&#x4E2A;&#x8FC7;&#x7A0B;&#x76F4;&#x5230;&#x805A;&#x5408;&#x5B8C;&#x6210;&#xFF0C;&#x5982;&#x56FE; <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/_preventing_combinatorial_explosions.html#breadth-first-4" target="_blank">&#x56FE; 48 &#x201C;Populate full depth for remaining nodes&#x201D;</a> &#x6240;&#x793A;&#x3002; &#x8FD9;&#x79CD;&#x573A;&#x666F;&#x4E0B;&#xFF0C;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x53EF;&#x4EE5;&#x5927;&#x5E45;&#x5EA6;&#x8282;&#x7701;&#x5185;&#x5B58;&#x3002;</p>
<p><strong>&#x56FE; 48. Populate full depth for remaining nodes</strong></p>
<p><img src="assets/300_120_breadth_first_4.svg" alt="Step 4: populate full depth for remaining nodes"></p>
<p>&#x8981;&#x4F7F;&#x7528;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#xFF0C;&#x53EA;&#x9700;&#x7B80;&#x5355; &#x7684;&#x901A;&#x8FC7;&#x53C2;&#x6570; <code>collect</code> &#x5F00;&#x542F;&#xFF1A;</p>
<pre><code class="lang-js">{
  <span class="hljs-string">&quot;aggs&quot;</span> : {
    <span class="hljs-string">&quot;actors&quot;</span> : {
      <span class="hljs-string">&quot;terms&quot;</span> : {
         <span class="hljs-string">&quot;field&quot;</span> :        <span class="hljs-string">&quot;actors&quot;</span>,
         <span class="hljs-string">&quot;size&quot;</span> :         <span class="hljs-number">10</span>,
         <span class="hljs-string">&quot;collect_mode&quot;</span> : <span class="hljs-string">&quot;breadth_first&quot;</span>     &lt;<span class="hljs-number">1</span>&gt;
      },
      <span class="hljs-string">&quot;aggs&quot;</span> : {
        <span class="hljs-string">&quot;costars&quot;</span> : {
          <span class="hljs-string">&quot;terms&quot;</span> : {
            <span class="hljs-string">&quot;field&quot;</span> : <span class="hljs-string">&quot;actors&quot;</span>,
            <span class="hljs-string">&quot;size&quot;</span> :  <span class="hljs-number">5</span>
          }
        }
      }
    }
  }
}
</code></pre>
<blockquote>
<p> <img src="assets/1.png" alt="img">  &#x6309;&#x805A;&#x5408;&#x6765;&#x5F00;&#x542F; <code>breadth_first</code> &#x3002;   </p>
</blockquote>
<p>&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x4EC5;&#x4EC5;&#x9002;&#x7528;&#x4E8E;&#x6BCF;&#x4E2A;&#x7EC4;&#x7684;&#x805A;&#x5408;&#x6570;&#x91CF;&#x8FDC;&#x8FDC;&#x5C0F;&#x4E8E;&#x5F53;&#x524D;&#x603B;&#x7EC4;&#x6570;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x56E0;&#x4E3A;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x4F1A;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x7F13;&#x5B58;&#x88C1;&#x526A;&#x540E;&#x7684;&#x4EC5;&#x4EC5;&#x9700;&#x8981;&#x7F13;&#x5B58;&#x7684;&#x6BCF;&#x4E2A;&#x7EC4;&#x7684;&#x6240;&#x6709;&#x6570;&#x636E;&#xFF0C;&#x4EE5;&#x4FBF;&#x4E8E;&#x5B83;&#x7684;&#x5B50;&#x805A;&#x5408;&#x5206;&#x7EC4;&#x67E5;&#x8BE2;&#x53EF;&#x4EE5;&#x590D;&#x7528;&#x4E0A;&#x7EA7;&#x805A;&#x5408;&#x7684;&#x6570;&#x636E;&#x3002;</p>
<p>&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x7684;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#x4E0E;&#x88C1;&#x526A;&#x540E;&#x7684;&#x7F13;&#x5B58;&#x5206;&#x7EC4;&#x6570;&#x636E;&#x91CF;&#x662F;&#x6210;&#x7EBF;&#x6027;&#x7684;&#x3002;&#x5BF9;&#x4E8E;&#x5F88;&#x591A;&#x805A;&#x5408;&#x6765;&#x8BF4;&#xFF0C;&#x6BCF;&#x4E2A;&#x6876;&#x5185;&#x7684;&#x6587;&#x6863;&#x6570;&#x91CF;&#x662F;&#x76F8;&#x5F53;&#x5927;&#x7684;&#x3002; &#x60F3;&#x8C61;&#x4E00;&#x79CD;&#x6309;&#x6708;&#x5206;&#x7EC4;&#x7684;&#x76F4;&#x65B9;&#x56FE;&#xFF0C;&#x603B;&#x7EC4;&#x6570;&#x80AF;&#x5B9A;&#x662F;&#x56FA;&#x5B9A;&#x7684;&#xFF0C;&#x56E0;&#x4E3A;&#x6BCF;&#x5E74;&#x53EA;&#x6709;12&#x4E2A;&#x6708;&#xFF0C;&#x8FD9;&#x4E2A;&#x65F6;&#x5019;&#x6BCF;&#x4E2A;&#x6708;&#x4E0B;&#x7684;&#x6570;&#x636E;&#x91CF;&#x53EF;&#x80FD;&#x975E;&#x5E38;&#x5927;&#x3002;&#x8FD9;&#x4F7F;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x4E0D;&#x662F;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x9009;&#x62E9;&#xFF0C;&#x8FD9;&#x4E5F;&#x662F;&#x4E3A;&#x4EC0;&#x4E48;&#x6DF1;&#x5EA6;&#x4F18;&#x5148;&#x4F5C;&#x4E3A;&#x9ED8;&#x8BA4;&#x7B56;&#x7565;&#x7684;&#x539F;&#x56E0;&#x3002;</p>
<p>&#x9488;&#x5BF9;&#x4E0A;&#x9762;&#x6F14;&#x5458;&#x7684;&#x4F8B;&#x5B50;&#xFF0C;&#x5982;&#x679C;&#x6570;&#x636E;&#x91CF;&#x8D8A;&#x5927;&#xFF0C;&#x90A3;&#x4E48;&#x9ED8;&#x8BA4;&#x7684;&#x4F7F;&#x7528;&#x6DF1;&#x5EA6;&#x4F18;&#x5148;&#x7684;&#x805A;&#x5408;&#x6A21;&#x5F0F;&#x751F;&#x6210;&#x7684;&#x603B;&#x5206;&#x7EC4;&#x6570;&#x5C31;&#x4F1A;&#x975E;&#x5E38;&#x591A;&#xFF0C;&#x4F46;&#x662F;&#x9884;&#x4F30;&#x4E8C;&#x7EA7;&#x7684;&#x805A;&#x5408;&#x5B57;&#x6BB5;&#x5206;&#x7EC4;&#x540E;&#x7684;&#x6570;&#x636E;&#x91CF;&#x76F8;&#x6BD4;&#x603B;&#x7684;&#x5206;&#x7EC4;&#x6570;&#x4F1A;&#x5C0F;&#x5F88;&#x591A;&#x6240;&#x4EE5;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#x4F7F;&#x7528;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x7684;&#x6A21;&#x5F0F;&#x80FD;&#x5927;&#x5927;&#x8282;&#x7701;&#x5185;&#x5B58;&#xFF0C;&#x4ECE;&#x800C;&#x901A;&#x8FC7;&#x4F18;&#x5316;&#x805A;&#x5408;&#x6A21;&#x5F0F;&#x6765;&#x5927;&#x5927;&#x63D0;&#x9AD8;&#x4E86;&#x5728;&#x67D0;&#x4E9B;&#x7279;&#x5B9A;&#x573A;&#x666F;&#x4E0B;&#x805A;&#x5408;&#x67E5;&#x8BE2;&#x7684;&#x6210;&#x529F;&#x7387;&#x3002;</p>
<h2 id="&#x603B;&#x7ED3;5_2"><a name="&#x603B;&#x7ED3;5_2" class="anchor-navigation-ex-anchor" href="#&#x603B;&#x7ED3;5_2"><i class="fa fa-link" aria-hidden="true"></i></a>&#x603B;&#x7ED3;  </h2>
<p>&#x672C;&#x5C0F;&#x8282;&#x6DB5;&#x76D6;&#x4E86;&#x8BB8;&#x591A;&#x57FA;&#x672C;&#x7406;&#x8BBA;&#x4EE5;&#x53CA;&#x5F88;&#x591A;&#x6DF1;&#x5165;&#x7684;&#x6280;&#x672F;&#x95EE;&#x9898;&#x3002;&#x805A;&#x5408;&#x7ED9; Elasticsearch &#x5E26;&#x6765;&#x4E86;&#x96BE;&#x4EE5;&#x8A00;&#x55BB;&#x7684;&#x5F3A;&#x5927;&#x80FD;&#x529B;&#x548C;&#x7075;&#x6D3B;&#x6027;&#x3002;&#x6876;&#x4E0E;&#x5EA6;&#x91CF;&#x7684;&#x5D4C;&#x5957;&#x80FD;&#x529B;&#xFF0C;&#x57FA;&#x6570;&#x4E0E;&#x767E;&#x5206;&#x4F4D;&#x6570;&#x7684;&#x5FEB;&#x901F;&#x4F30;&#x7B97;&#x80FD;&#x529B;&#xFF0C;&#x5B9A;&#x4F4D;&#x4FE1;&#x606F;&#x4E2D;&#x7EDF;&#x8BA1;&#x5F02;&#x5E38;&#x7684;&#x80FD;&#x529B;&#xFF0C; &#x6240;&#x6709;&#x7684;&#x8FD9;&#x4E9B;&#x90FD;&#x5728;&#x8FD1;&#x4E4E;&#x5B9E;&#x65F6;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x64CD;&#x4F5C;&#x7684;&#xFF0C;&#x800C;&#x4E14;&#x5168;&#x6587;&#x641C;&#x7D22;&#x662F;&#x5E76;&#x884C;&#x7684;&#xFF0C;&#x5B83;&#x4EEC;&#x6539;&#x53D8;&#x4E86;&#x5F88;&#x591A;&#x4F01;&#x4E1A;&#x7684;&#x6E38;&#x620F;&#x89C4;&#x5219;&#x3002;</p>
<p>&#x805A;&#x5408;&#x662F;&#x8FD9;&#x6837;&#x4E00;&#x79CD;&#x529F;&#x80FD;&#x7279;&#x6027;&#xFF1A;&#x4E00;&#x65E6;&#x6211;&#x4EEC;&#x5F00;&#x59CB;&#x4F7F;&#x7528;&#x5B83;&#xFF0C;&#x6211;&#x4EEC;&#x5C31;&#x80FD;&#x627E;&#x5230;&#x5F88;&#x591A;&#x5176;&#x4ED6;&#x7684;&#x53EF;&#x7528;&#x573A;&#x666F;&#x3002;&#x5B9E;&#x65F6;&#x62A5;&#x8868;&#x4E0E;&#x5206;&#x6790;&#x5BF9;&#x4E8E;&#x5F88;&#x591A;&#x7EC4;&#x7EC7;&#x6765;&#x8BF4;&#x90FD;&#x662F;&#x6838;&#x5FC3;&#x529F;&#x80FD;&#xFF08;&#x65E0;&#x8BBA;&#x662F;&#x5E94;&#x7528;&#x4E8E;&#x5546;&#x4E1A;&#x667A;&#x80FD;&#x8FD8;&#x662F;&#x670D;&#x52A1;&#x5668;&#x65E5;&#x5FD7;&#xFF09;&#x3002;</p>
<p>Elasticsearch &#x9ED8;&#x8BA4;&#x7ED9; <em>&#x5927;&#x591A;&#x6570;</em> &#x5B57;&#x6BB5;&#x542F;&#x7528; doc values&#xFF0C;&#x6240;&#x4EE5;&#x5728;&#x4E00;&#x4E9B;&#x641C;&#x7D22;&#x573A;&#x666F;&#x5927;&#x5927;&#x7684;&#x8282;&#x7701;&#x4E86;&#x5185;&#x5B58;&#x4F7F;&#x7528;&#x91CF;&#xFF0C;&#x4F46;&#x662F;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;&#x53EA;&#x6709;&#x4E0D;&#x5206;&#x8BCD;&#x7684; string &#x7C7B;&#x578B;&#x7684;&#x5B57;&#x6BB5;&#x624D;&#x80FD;&#x4F7F;&#x7528;&#x8FD9;&#x79CD;&#x7279;&#x6027;&#x3002;</p>
<p>&#x5185;&#x5B58;&#x7684;&#x7BA1;&#x7406;&#x5F62;&#x5F0F;&#x53EF;&#x4EE5;&#x6709;&#x591A;&#x79CD;&#x5F62;&#x5F0F;&#xFF0C;&#x8FD9;&#x53D6;&#x51B3;&#x4E8E;&#x6211;&#x4EEC;&#x7279;&#x5B9A;&#x7684;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF1A;</p>
<ul>
<li>&#x5728;&#x89C4;&#x5212;&#x65F6;&#xFF0C;&#x7EC4;&#x7EC7;&#x597D;&#x6570;&#x636E;&#xFF0C;&#x4F7F;&#x805A;&#x5408;&#x8FD0;&#x884C;&#x5728; <code>not_analyzed</code> &#x5B57;&#x7B26;&#x4E32;&#x800C;&#x4E0D;&#x662F; <code>analyzed</code> &#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x6709;&#x6548;&#x7684;&#x5229;&#x7528; doc values &#x3002;</li>
<li>&#x5728;&#x6D4B;&#x8BD5;&#x65F6;&#xFF0C;&#x9A8C;&#x8BC1;&#x5206;&#x6790;&#x94FE;&#x4E0D;&#x4F1A;&#x5728;&#x4E4B;&#x540E;&#x7684;&#x805A;&#x5408;&#x8BA1;&#x7B97;&#x4E2D;&#x521B;&#x5EFA;&#x9AD8;&#x57FA;&#x6570;&#x5B57;&#x6BB5;&#x3002;</li>
<li>&#x5728;&#x641C;&#x7D22;&#x65F6;&#xFF0C;&#x5408;&#x7406;&#x5229;&#x7528;&#x8FD1;&#x4F3C;&#x805A;&#x5408;&#x548C;&#x6570;&#x636E;&#x8FC7;&#x6EE4;&#x3002;</li>
<li>&#x5728;&#x8282;&#x70B9;&#x5C42;&#xFF0C;&#x8BBE;&#x7F6E;&#x786C;&#x5185;&#x5B58;&#x5927;&#x5C0F;&#x4EE5;&#x53CA;&#x52A8;&#x6001;&#x7684;&#x65AD;&#x7194;&#x9650;&#x5236;&#x3002;</li>
<li>&#x5728;&#x5E94;&#x7528;&#x5C42;&#xFF0C;&#x901A;&#x8FC7;&#x76D1;&#x63A7;&#x96C6;&#x7FA4;&#x5185;&#x5B58;&#x7684;&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#x548C; Full GC &#x7684;&#x53D1;&#x751F;&#x9891;&#x7387;&#xFF0C;&#x6765;&#x8C03;&#x6574;&#x662F;&#x5426;&#x9700;&#x8981;&#x7ED9;&#x96C6;&#x7FA4;&#x8D44;&#x6E90;&#x6DFB;&#x52A0;&#x66F4;&#x591A;&#x7684;&#x673A;&#x5668;&#x8282;&#x70B9;</li>
</ul>
<p>&#x5927;&#x591A;&#x6570;&#x5B9E;&#x65BD;&#x4F1A;&#x5E94;&#x7528;&#x5230;&#x4EE5;&#x4E0A;&#x4E00;&#x79CD;&#x6216;&#x51E0;&#x79CD;&#x65B9;&#x6CD5;&#x3002;&#x786E;&#x5207;&#x7684;&#x7EC4;&#x5408;&#x65B9;&#x5F0F;&#x4E0E;&#x6211;&#x4EEC;&#x7279;&#x5B9A;&#x7684;&#x7CFB;&#x7EDF;&#x73AF;&#x5883;&#x9AD8;&#x5EA6;&#x76F8;&#x5173;&#x3002;</p>
<p>&#x65E0;&#x8BBA;&#x91C7;&#x53D6;&#x4F55;&#x79CD;&#x65B9;&#x5F0F;&#xFF0C;&#x5BF9;&#x4E8E;&#x73B0;&#x6709;&#x7684;&#x9009;&#x62E9;&#x8FDB;&#x884C;&#x8BC4;&#x4F30;&#xFF0C;&#x5E76;&#x540C;&#x65F6;&#x521B;&#x5EFA;&#x77ED;&#x671F;&#x548C;&#x957F;&#x671F;&#x8BA1;&#x5212;&#xFF0C;&#x90FD;&#x5341;&#x5206;&#x91CD;&#x8981;&#x3002;&#x5148;&#x51B3;&#x5B9A;&#x5F53;&#x524D;&#x5185;&#x5B58;&#x7684;&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#x548C;&#x9700;&#x8981;&#x505A;&#x7684;&#x4E8B;&#x60C5;&#xFF08;&#x5982;&#x679C;&#x6709;&#xFF09;&#xFF0C;&#x901A;&#x8FC7;&#x8BC4;&#x4F30;&#x6570;&#x636E;&#x589E;&#x957F;&#x901F;&#x5EA6;&#xFF0C;&#x6765;&#x51B3;&#x5B9A;&#x672A;&#x6765;&#x534A;&#x5E74;&#x6216;&#x8005;&#x4E00;&#x5E74;&#x7684;&#x96C6;&#x7FA4;&#x7684;&#x89C4;&#x5212;&#xFF0C;&#x4F7F;&#x7528;&#x4F55;&#x79CD;&#x65B9;&#x5F0F;&#x6765;&#x6269;&#x5C55;&#x3002;</p>
<p>&#x6700;&#x597D;&#x5728;&#x5EFA;&#x7ACB;&#x96C6;&#x7FA4;&#x4E4B;&#x524D;&#x5C31;&#x8BA1;&#x5212;&#x597D;&#x8FD9;&#x4E9B;&#x5185;&#x5BB9;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x5728;&#x6211;&#x4EEC;&#x96C6;&#x7FA4;&#x5806;&#x5185;&#x5B58;&#x4F7F;&#x7528; 90% &#x7684;&#x65F6;&#x5019;&#x518D;&#x4E34;&#x65F6;&#x62B1;&#x4F5B;&#x811A;&#x3002;</p>
<footer class="page-footer"><span class="copyright">Copyright &#xA9; WS 2019 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">&#x8BE5;&#x6587;&#x4EF6;&#x4FEE;&#x8BA2;&#x65F6;&#x95F4;&#xFF1A;
2019-03-08 11:35:52
</span></footer>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="5_1_Aggregations.html#范围限定的聚合" class="navigation navigation-prev " aria-label="Previous page: 范围限定的聚合">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="5_2_Aggregations.html#过滤" class="navigation navigation-next " aria-label="Next page: 过滤">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"过滤和聚合","level":"6.1.6","depth":2,"next":{"title":"过滤","level":"6.1.6.1","depth":3,"anchor":"#过滤","path":"5_2_Aggregations.md","ref":"5_2_Aggregations.md#过滤","articles":[]},"previous":{"title":"范围限定的聚合","level":"6.1.5","depth":2,"anchor":"#范围限定的聚合","path":"5_1_Aggregations.md","ref":"5_1_Aggregations.md#范围限定的聚合","articles":[]},"dir":"ltr"},"config":{"plugins":["github@^2.0.0","edit-link@^2.0.2","anchors@^0.7.1","include-codeblock@^3.0.2","splitter@^0.0.8","tbfed-pagefooter@^0.0.1","expandable-chapters-small@^0.1.7","anchor-navigation-ex@0.1.8","book-summary-scroll-position-saver","ace","emphasize","-lunr","-search","search-plus"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright © WS 2019","modify_label":"该文件修订时间：","modify_format":"YYYY-MM-DD HH:mm:ss"},"emphasize":{},"ace":{},"github":{"url":"https://github.com/wjw465150/Elasticsearch"},"book-summary-scroll-position-saver":{},"splitter":{},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"anchor-navigation-ex":{"isRewritePageTitle":false,"tocLevel1Icon":"fa fa-hand-o-right","tocLevel2Icon":"fa fa-hand-o-right","tocLevel3Icon":"fa fa-hand-o-right"},"expandable-chapters-small":{},"include-codeblock":{"check":false,"edit":true,"fixlang":false,"lang":"","template":"ace","theme":"chrome","unindent":true},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"edit-link":{"label":"编辑此页面","base":"https://github.com/wjw465150/Elasticsearch/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"search-plus":{}},"theme":"default","author":"WS","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Elasticsearch权威指南中文版","language":"zh-hans","gitbook":"*","description":"Elasticsearch权威指南中文版"},"file":{"path":"5_2_Aggregations.md","mtime":"2019-03-08T03:35:52.766Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-15T05:52:05.244Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-github/plugin.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-edit-link/plugin.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-splitter/splitter.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-book-summary-scroll-position-saver/book-summary-scroll-position-saver.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-ace/ace/ace.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-ace/ace.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search-plus/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

